Skip to content
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

VS Code declarative API compatibility #13051

Open
1 of 21 tasks
tortmayr opened this issue Nov 2, 2023 · 10 comments
Open
1 of 21 tasks

VS Code declarative API compatibility #13051

tortmayr opened this issue Nov 2, 2023 · 10 comments
Assignees
Labels
vscode issues related to VSCode compatibility

Comments

@tortmayr
Copy link
Contributor

tortmayr commented Nov 2, 2023

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
  • issue/reporter: not mentioned/supported
  • multiDiffEditor/resource/title: not mentioned/supported
  • timeline/title: not mentioned/supported
  • scm/change/title: not mentioned/supported
  • scm/sourceControl: not mentioned/supported
  • scm/sourceControl/title: 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 walkthroughs and activationEvents, will be done in separate issues:

@tortmayr
Copy link
Contributor Author

tortmayr commented Nov 2, 2023

@rschnekenbu @planger

@vince-fugnitto vince-fugnitto added the vscode issues related to VSCode compatibility label Nov 7, 2023
@umar-shabbir
Copy link

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

@rschnekenbu
Copy link
Contributor

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.

@jonah-iden
Copy link
Contributor

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.

@rschnekenbu
Copy link
Contributor

rschnekenbu commented Jan 17, 2024

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

@rschnekenbu
Copy link
Contributor

rschnekenbu commented Mar 4, 2024

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

@rschnekenbu
Copy link
Contributor

proposed API introduced in version 1.92 (contribSourceControlHistoryItemChangesMenu - see #14006)

  • scm/historyItemChanges/title menu contribution point
  • scm/historyItem/context contextual menu

@rschnekenbu
Copy link
Contributor

proposed API introduced in version 1.93: scm/history/title, see #14112

@eneufeld
Copy link
Contributor

Just started the latest master and downloaded the plugins using npm run download:plugins .
During startup I get this errors:
root WARN Failed to register a menu item for plugin ms-python.python contributed to issue/reporter
root WARN Failed to register a menu item for plugin ms-python.python contributed to editor/content
root WARN Failed to register a menu item for plugin ms-toolsai.jupyter contributed to interactive/toolbar
root WARN Failed to register a menu item for plugin ms-toolsai.jupyter contributed to interactive/cell/title
root WARN Failed to register a menu item for plugin vscode.git contributed to scm/sourceControl/title
root WARN Failed to register a menu item for plugin vscode.git contributed to scm/sourceControl
root WARN Failed to register a menu item for plugin vscode.git contributed to scm/history/title
root WARN Failed to register a menu item for plugin vscode.git contributed to scm/historyItem/context
root WARN Failed to register a menu item for plugin vscode.git contributed to multiDiffEditor/resource/title
root WARN Failed to register a menu item for plugin vscode.git contributed to diffEditor/gutter/hunk
root WARN Failed to register a menu item for plugin vscode.git contributed to diffEditor/gutter/selection

some are mentioned above already.

And then:
plugin-manager WARN Unsupported activation events: onProfile, onProfile:github
plugin-manager WARN Unsupported activation events: onOpenExternalUri:http, onOpenExternalUri:https
plugin-manager WARN Unsupported activation events: onWalkthrough:nodejsWelcome
plugin-manager WARN Unsupported activation events: onEditSession:file
plugin-manager WARN Unsupported activation events: onTunnel

also:
root WARN 'cpp' language is remapped from 'source.cpp.embedded.macro' to 'source.cpp' scope
WARN a registered grammar configuration for 'cpp' language is overridden
WARN [0107e8c7-5881-4397-ac55-07d268469d39][vscode.html]: Language for 'source.smarty' not found.
root WARN [0107e8c7-5881-4397-ac55-07d268469d39][vscode.markdown]: Language for 'meta.embedded.block.vs_net' not found.
root WARN [0107e8c7-5881-4397-ac55-07d268469d39][vscode.markdown]: Language for 'meta.embedded.block.dosbatch' not found.
root WARN [0107e8c7-5881-4397-ac55-07d268469d39][vscode.markdown]: Language for 'meta.embedded.block.coffee' not found.
root WARN [0107e8c7-5881-4397-ac55-07d268469d39][vscode.markdown]: Language for 'meta.embedded.block.objc' not found.
root WARN [0107e8c7-5881-4397-ac55-07d268469d39][vscode.markdown]: Language for 'meta.embedded.block.perl6' not found.
root WARN [0107e8c7-5881-4397-ac55-07d268469d39][vscode.markdown]: Language for 'meta.embedded.block.scala' not found.
root WARN 'php' language is remapped from 'source.php' to 'text.html.php' scope
root WARN a registered grammar configuration for 'php' language is overridden
root WARN Linked preference "debug.node.autoAttach" not found.

The python extension then crashes:
plugin-host ERROR Error: spawn /home/eugen/Git/theia/plugins/ms-python.python/extension/python-env-tools/bin/pet ENOENT

@rschnekenbu not sure this is the ideal place to report this

@rschnekenbu
Copy link
Contributor

@eneufeld, yes, that is the right place to report these issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
vscode issues related to VSCode compatibility
Projects
None yet
Development

No branches or pull requests

6 participants