-
Notifications
You must be signed in to change notification settings - Fork 150
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
Separate directory for VSCode extensions #180
Conversation
Signed-off-by: Vitaliy Gulyy <vgulyy@redhat.com>
@vitaliy-guliy could you explain why this is needed ? |
@sunix This is needed to persist VS Code extensions that has been installed by a command given from VS Code marketplace. Yes, the installed extension is not stored to the devfile and you cannot recreate your workspace with this extension. It works only for the current workspace. For now we don't have a solution how to describe such kind of plugins in devfile directly without defining external meta.yaml |
plz make a proposal in a new issue so we can do it in the devfile id: 'link to the vscode ext binary or vscode id',
type: vscode-ext |
@vitaliy-guliy is this really related to eclipse-che/che#13747. Because you talked about making the panel work with the new devfile model and it doesn't look like this PR address that. |
@l0rd yes, you are right. It's a minor change and it was decided to do it withing fixing the plugins panel. |
@evidolob can you review this PR please? |
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.
Does the plugin broker need a parallel change to accomodate this? How would compatability between older versions of che-theia work?
@amisevsk we don't need to change the plugin broker. This option is only for installing a vscode extension by a command running inside Theia.
There is a code in Theia using this environment variable. If the variable is set, Theia will install a vscode extension to predefined directory. In our case (in this PR), this directory is also added to volumes. This is some kind of persistence to not lost the extensions when restarting. See my demo video explaining the feature https://youtu.be/2_GPZb1_Hew?t=329 |
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.
LGTM.
Worth noting that installing plugins in this way will not persist between workspace starts when using ephemeral workspaces
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.
We should also update the https://github.com/eclipse/che-plugin-registry/blob/13d4d103ad770162cd30e4e9d75a776678067f7c/v3/plugins/eclipse/che-theia/latest/meta.yaml file too.
And rebase this on 7.1.0, not 7.0.0.RC3.
https://github.com/eclipse/che-plugin-registry/tree/master/v3/plugins/eclipse/che-theia
Is this PR still relevant? Tempted to close as out of date. |
It depends on what we prefer. If we prefer to have a configuration in the devfile only, then we don't need this PR anymore. But then we have to create and issue to make it possible to specify/describe the vscode extension in the devfile directly without creating a separate meta.yaml. If it's ok to have an ability to store the installed vscode extension in the persisted volume only, let's update this PR and merge. As for me, I prefer the first option. Anyway, we have already implemented the feature with extensions installing. But the extension will not be deployed immediately, only after restarting the workspace. But without the dedicated persisted directory you will not see your plugin. I demonstrated it several times on the sprint review. |
If we are not about to merge that one let's close it and create/update epic on how to properly install vscode extensions on the editor or sidecars container, dynamically (if possible) or with workspace restart and with devfile update. Could you prepare that @vitaliy-guliy ? |
Going to close this one for now, we can revisit this discussion at a later date. |
Signed-off-by: Vitaliy Gulyy vgulyy@redhat.com
What does this PR do?
For
eclipse/che-theia/7.0.0-rc-3.0
andeclipse/che-theia/next
VSCODE_PLUGINS
environment variable. It allow to install VS Code extensions to this directory./vscode-plugins
to plugin sources/home/theia/.theia
directory to be able to store Theia settings and setting of some plugins/extensionsIs needed for eclipse-che/che#13834