microsoft/vscode

Installed deprecated extensions should have a migrate button

isidorn opened this issue · 7 comments

  1. Install a deprecated extension, for example Bracket Pair Colorizer
  2. Open extensions viewlet -> notice how it is not very visible that the extension is deprecated. If the user wants to migrate they have to click on "configure these settings" and uninstall the extension
  3. Let's solve both of these things by rendering a "Migrate" button for deprecated extensions that have alternatives

The migrate button would be similar to the Update button in looks, but it would either:

  • Install the alternative extension, uninstall the deprecated one
  • Uninstall the deprecated extension, open settings view with the desired settings shown

@isidorn I do not like Migrate button for an extension like Bracket Pair Colorizer that needs settings to configured. It felt little weird to me enabling Migrate button for this extension and opening settings editor but not applying any settings to migrate. Hence I enabled this button only for those extensions with alternate extensions

image (2)

@sandy081 that makes great sense, thanks!
I plan to try this out as soon as there is a new insiders out.

Feel free to close this issue then :)

@sandy081 I just tried the latest insiders which should have your changes.
However I do not see the Migrate button in the Extensions details view.

Also it would be cool if the button was also in the extensions viewlet. Similar to the Reload button.
Screenshot 2022-05-24 at 15 28 49

Its because alternate extension is already installed and migrating is just uninstalling the the deprecated extension. I thought it might be too aggressive to show in Extensions Viewlet. What if users do not want to migrate and they always see it in extensions viewlet?

@sandy081 you are right. When I uninstall eslint all is good and the button gets rendered in the extension details - cool!

Extensions viewlet - as for users not wanting to migrate and still seeing it - I think that is fine. It is the same if you do not want to update and you always see "reload required". It is an update, it is just an update to a different extension.
I do not find this too aggressive, especially since we want to push users off deprecated extensions.

Makes sense. Showing Migrate action in extensions view (without extension name)

image

Awesome, thanks! Let's see what the users says about the full flow and how it goes during endgame :)