-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
VSX: Add 'Install Another Version...' Command #9330
Conversation
f4074d8
to
ebc0779
Compare
packages/vsx-registry/src/browser/vsx-extensions-contribution.ts
Outdated
Show resolved
Hide resolved
packages/vsx-registry/src/browser/vsx-extensions-contribution.ts
Outdated
Show resolved
Hide resolved
42a2fd6
to
6e02a59
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've updated the coding guidelines regarding i18n. I'm currently working on tooling to simplify finding localization keys in vscode language packs.
packages/vsx-registry/src/browser/vsx-extensions-contribution.ts
Outdated
Show resolved
Hide resolved
packages/vsx-registry/src/browser/vsx-extensions-contribution.ts
Outdated
Show resolved
Hide resolved
packages/vsx-registry/src/browser/vsx-extensions-contribution.ts
Outdated
Show resolved
Hide resolved
packages/vsx-registry/src/browser/vsx-extensions-contribution.ts
Outdated
Show resolved
Hide resolved
packages/vsx-registry/src/browser/vsx-extensions-contribution.ts
Outdated
Show resolved
Hide resolved
bdc4fac
to
a5c42d1
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The changes overall look good to me, only had a minor comment about the quick-input.
if (currentVersion === ext.version) { | ||
publishedDate += ' (Current)'; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For some reason I do not see current
added as a description to the current extension version:
current-version-ext.mp4
I also verified when it is not the first entry in the list. (not sure why I mentioned this)
What It Does - Supports the ability to install any compatible version of an user-installed extension, provided that the extension is available in the Open VSX Registry. How To Test 1. Open the extensions view and locate the `Installed` view of all user-installed extensions. 2. Pick an extension --> Click the `manage` gear icon --> Click `Install Another Version...` command. Note that the command is disabled fo any extension not available in the Open VSX Registry. 3. Select a compatible version to install from the Quick Pick dropdown. 4. Observe that the previous version is uninstalled and replaced with the newly selected version. Signed-off-by: seantan22 <[email protected]>
b30ed21
to
0d03186
Compare
@vince-fugnitto, thanks for pointing out the Earlier, you also expressed some misgivings about the mid-stream undeployment and redeployment. It seems as though VSCode pretty much always prompts you to reload if you want to change plugin versions. Should we just do the same, adding a button to reload if the plugin is awaiting deployment? In Electron that's fairly straightforward - I'm not quite sure what we should do in the Browser, since it would be expecting a full shutdown and restart of the back end. |
Signed-off-by: Colin Grant <[email protected]>
0d03186
to
de42595
Compare
That's right, not sure why I mentioned it should be the first in the list, I believe I just wanted to express it should be added to the currently deployed version 👍
I'm not sure either. Are there cases where a plugin will not be updated until the app is reloaded? |
@tsmaeder, would you be willing to weigh in here, since y'all at Red Hat probably have the best understanding of the plugin system. Is it / should it be safe to uninstall one version of a plugin and start a different version in the same session, or would it be preferable to restart the whole application when swapping out versions of plugins? |
@colin-grant-work I have two observations:
|
@tsmaeder Unless the backend stores plugin-specific data, I don't see why we would need to restart it. An extension's executable code is loaded into the plugin host process only and resources such as icons should be loaded in the frontend, so I'd expect to only need to restart frontend and plugin host? |
Planning to pick this back up, but ran into an issue with the queries to Open VSX. I'll try to work around it - I'm not sure we need the query that's failing. |
@JonasHelming, this one has been waiting on a solution for issues with plugin uninstallation: #11084. Once that's merged, I can finish this up straightforwardly. |
What it does
install_another_version.mp4
How to test
Installed
view of all user-installed extensions.manage
gear icon --> ClickInstall Another Version...
command. Note that the command is disabled for any extension not available in the Open VSX Registry.Review checklist
Reminder for reviewers
Signed-off-by: seantan22 [email protected]