-
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
Snippets don't work when Plugin Host is not colocated with Back End #8460
Comments
Could you elaborate how is it going to work? In VS Code they have |
I'm working on a PR for the snippets case which will land later today. We're already serving plugin resources here: https://github.com/eclipse-theia/theia/tree/master/packages/plugin-ext/src/hosted/node/plugin-reader.ts#L45. |
I thought we will use then fs provider for such scheme and downstream products should have a proper fs provider which can handle dispatching instead of having custom HTTP endpoints. Also such URIs should be absolute as we discovered before? And current endpoint does not handle them? |
using uri protocol or fs provider looks like an implementation details |
@akosyakov you mean having a |
Ok, agree, we will need to support in different places. |
...thinking about where plugin-resource would be the appropriate resource scheme.... |
I've opened #8468 as a basis for discussion on the way forward. It fixes the case of snippets for Che. |
I've been experimenting with implementing a plugin file system as a well-known instance of of vscode.FileSystemProvider that resolves paths from "pluginresource" schemes relative to the plugin folder. We already have a (largish) PR open that would remedy that problem: #8437 |
In Che, we have come across this issue: eclipse-che/che#16502. The problem we're running into is that we resolve the snippets contribution to a file uri here: https://github.com/eclipse-theia/theia/blob/master/packages/plugin-ext/src/hosted/node/scanners/scanner-theia.ts#L424
This is not a problem as long as the plugin host runs on the same machine as the theia back-end, but it starts failing if the plugins are installed on a remote host.
Since even VS Code is moving to a solution where the plugin host can be remote, I would propose that we treat resources contributed by plugins as a special kind of resource with it's own uri scheme
pluginresource
. We already server plugin resources from under/hostedPlugin/<pluginId>/path/to/resource
. I propose we use this for all plugin-related resources (like snippet files)The text was updated successfully, but these errors were encountered: