theia
theia copied to clipboard
VS Code declarative API compatibility
Due to recent efforts Theia's plugin API is mostly compatible with the programmatic VS Code API. However, looking at the declarative API (i.e. contribution points in the package.json) there are still many contribution points which are not (or only partly) supported.
I had a more detailed look on the menu contribution points (https://code.visualstudio.com/api/references/contribution-points#contributes.menus) and did a quick reference check in Theia repo do identify which contributions points are currently not supported:
- [ ] comments/commentThread/title: Only referenced in ts-doc, no actual implementation
- [ ] extension/context: not supported (verified with ms.python extension)
- [ ] interactive/toolbar: not mentioned/supported
- [ ] interactive/cell/title: not mentioned/supported
- [ ] timeline/title: not mentioned/supported
- [ ] scm/change/title: not mentioned/supported
- [ ] scm/sourceControl: not mentioned/supported
- [ ] scm/history/title: not supported
- [ ] scm/historyItemChanges/title: not supported
- [ ] scm/historyItem/context: not supported
- [ ] terminal/context: not mentioned/supported
- [ ] terminal/title/context: not mentioned/supported
- [ ] testing/item/gutter: not mentioned/supported
- [ ] touchbar: not supported (only mentioned in i18n) [mac only feature]
- [ ] webview/context: not supported (tested with small custom extension)
Support for other contribution points, like walkthrough, will be done in separate issues:
- [ ] #13879
- [ ] #14309
@rschnekenbu @planger
I checked VS code walkthrough and it is not supported in Theia. https://community.theia-ide.org/t/vs-code-walkthrough-contribution-point-in-theia/3312
As a follow up of #13145, we are missing also 'testing/message/content' introduced with vscode 1.84. This menu contribution is not yet relevant given the current test UI.
Some of these contribution points can't be implemented because the associated feature is missing in theia
- timeline/title: needs the timeline feature
- scm/sourceControl: needs multi repository support
- scm/change/title: needs review comment support i think. See here
- interactive/toolbar and interactive/cell/title: Should be somewhere in the notebook support, but i havn't been able to find them in vscode yet.
vscode.git extension contributes to a currently proposed menu extension, editor/content
.
This menu is not tracked by this issue obviously, as it is a proposed API and not in the stable list yet. But it may be required for the adoption of the vscode.git extension.
see https://github.com/microsoft/vscode/blob/main/src/vscode-dts/vscode.proposed.contribEditorContentMenu.d.ts
Some added menu extensions as proposed for scm in 1.86 and 1.87 (see evaluation task for proposed APIs here: #13444):
-
scm/incomingChanges
-menu contribution point -
scm/incomingChanges/context
-menu contribution point -
scm/outgoingChanges
-menu contribution point -
scm/outgoingChanges/context
-menu contribution point -
scm/sourceControl/title
menu
proposed API introduced in version 1.92 (contribSourceControlHistoryItemChangesMenu - see #14006)
-
scm/historyItemChanges/title
menu contribution point -
scm/historyItem/context
contextual menu