Replace vscode built-ins by extension pack#93
Conversation
0c18700 to
a4c67ea
Compare
7f43ff5 to
b9995ed
Compare
827d7b9 to
bb168db
Compare
|
I confirmed (from bb168db) that the following pull-request eclipse-theia/theia#9486 fixes the issue related to I verified for both:
I verified with the best way I knew how, to reference my pull-request locally by updating: to: (local dependency reference specific to my environment) "@theia/vsx-registry": "file:../../../theia/packages/vsx-registry/", |
|
Thanks @vince-fugnitto . So we should be is pretty good shape, once we merge your referenced PR. Hopefully in time for theia 1.14.0 next week. |
e2f2ea2 to
9703409
Compare
9703409 to
a2838dd
Compare
|
I will soon push a version with an updated |
6aeba1f to
bb76c99
Compare
d134589 to
4686589
Compare
25abb83 to
862d3b0
Compare
af583db to
0eab37b
Compare
1d8764e to
0eab37b
Compare
|
I expect #157 will make it possible to exclude the one currently known misbehaving vscode built-in extension (vscode.extension-editing), pulled by the pack, making this PR finally merge-able. |
71763bc to
72db462
Compare
|
Looks good to me. Git-Support, Json-Editing, Java, Typescript all worked fine in my small test. |
That is a bit strange. So far, I can only open markdown source by explicitly doing "open-with -> code editor". I will investigate. |
|
@jfaltermeier Markdown should behave better - I have pinned an older version that's known to work well. Before, we had two extensions providing markdown support - I have removed the one that's Theia-specific, so the one from vscode is always used. The removed one used to provide the "open-with" entries when an |
We now have an extension pack, that lists all vscode-builtin extensions. As a first step, let's aim to have more features than not, and use that pack. For the most part, extensions listed in a pack should be installed, at the latest version that is compatible with the currently used Theia framework version, wr to the vscode extensions API. We need not manually update the version of the built-in extensions, any more. A few of the vscode built-in extensions do not work well, with the version pulled by the pack. These we need to pin to a specific version, that's known to work, using the old way. e.g.: `vscode.git` requires v1.52.1 instead of v1.50.0 Closes #26 Signed-off-by: Marc Dumais <marc.dumais@ericsson.com>
Fixes #61 This will permit enhanced vscode compatibility and make popular extension GitLens usable in Blueprint. Signed-off-by: Marc Dumais <marc.dumais@ericsson.com>
It behaves better. Also removed Theia-specific extension that provides markdown rendering: @theia/preview : keeping both is confusing Signed-off-by: Marc Dumais <marc.dumais@ericsson.com>
|
I have rebased to the latest |
|
Thanks for the review @jfaltermeier |
|
@brianking With this PR merged, we now have the full set of vscode built-in extensions (minus one or two we explicitly exclude), bundled in Blueprint. This is a nice milestone, feature-wise, I think. This means we now have:
See here, under section "bundled extensions", for the full list of built-in extensions that are part of the pack: https://open-vsx.org/extension/eclipse-theia/builtin-extension-pack/1.50.1 All this good content is available from the download page, version |
|
@marcdumais-work This is great, and something we should be making noise about. Would it make sense to wait for Beta 2 to be released, then we can do a blog post and / or some social posts? |
Yes, it would make sense to wait for the beta 2 release imho. @jfaltermeier is planning on building and publishing the release on September 21st. It will also contain some interesting fixes for the update function. |
Was Beta 2 officially released? |
|
Sorry for the late reply, you probably know by now but just for the sake of completeness: |





What it does
This PR removes most of the vscode built-ins, that were previously listed individually, and replaces them with the built-in extensions pack, that we recently produced. That pack contains all built-ins, so Blueprint will now provide, OOTB, provide very similar feature as VS Code, including grammars that enable syntax highlight in many languages and e.g. themes.
There is one extension ATM that does not work as expected from the pack, that we pin to a specific version known to work better:
vscode.git, and one extension that we exclude:vscode.extension-editing.update: we added a second one,
vscode.markdown-language-features, that we now pin to an earlier version, that's known to work well.Also included in this PR is the switch from the Theia-specific
gitextension,@theia/git, to the vscode equivalent,vscode.git/vscode.git-ui. This bringsBlueprintcloser to VS Code, and enables using the very popular extensioneamodio/vscode-gitlens.Known problems
I think the below issues are now addressed - I'm keeping them for reference.
Currently, the extensions, that are part of a pack, that's itself listed in the app's package.json, are resolved at runtime, when the user first starts the app. It takes a minute or two for allbuilt-insto download, and everything falls back on its feet.We are working on a mechanism to optionally resolve extension packs at buildtime.contrary to my expectation, a very recent version of built-ins, pulled through the pack, gets pulled:1.57.0-next.0988e056b2d. I expected a version that about matches ourvscode extensions API level,~1.50.0IIRC. Maybe some recent improvements are still on master, not part of@theia v1.13.0that this draft PR currently uses.extensions that are explicitly mentioned inpackage.json, likemarkdown-language-featuresare ignored at runtime, in favor of the version fetched for the pack. Maybe it's a matter of activation order? e.g. last activated wins? For whatever reason, the pack version wins, which breaks e.g. markdown language featurespublisher.id, else it will unzip in a different folder and it's a matter of luck which version is picked at startup.in packaged form, the built-in extensions pack currently installs the extensions under/tmp/vscode-unpacked. This means the extensions will potentially be installed more than onc[WIP] repluginsfolder, in an unzipped form.notless needed ATM since we found working versions for all builtins (a few are pinned to older versions than the pack)One extension, part of the vscode built-ins pack, is not starting correctly:vscode.extension-editingUntil git: consider switching to builtin extensions #61 is done, the built-in git extension will potentially clash with Theia'sGitlensHow to test
Build packages and verify that everything seem to work as well as before. Extensions that were known to be "sensitive" and that may benefit from a bit more tests are the ones that handle
jsonandmarkdownfiles.To confirm that more features are now available through the vscode built-in extensions pack, you can try to switch
theme, using commandpreferences: color theme, and chose e.g. "dark (visual studio)".Review checklist
Reminder for reviewers