eclipse-theia / theia

Eclipse Theia is a cloud & desktop IDE framework implemented in TypeScript.
http://theia-ide.org
Eclipse Public License 2.0
19.91k stars 2.49k forks source link

[plug-in] Implement VS Code Built-in Commands #4050

Open vparfonov opened 5 years ago

vparfonov commented 5 years ago

Built-in Commands used in VS Code Extensions widely, so for beeter support in as Theia Plugin we need to cover such command as is it possible. List of command described here: https://code.visualstudio.com/api/references/commands

Issues:

akosyakov commented 5 years ago

vscode.executeDocumentSymbolProvider -> https://github.com/theia-ide/theia/issues/4048

akosyakov commented 5 years ago

Whoever will do it, please check how each command is implemented in VS Code. Sometimes it is just calling another command which can be already available via Monaco. In this case we don't need to expose any internal Monaco API or copy code from VS Code, but just use our command registry and execute the very same command.

tsmaeder commented 5 years ago

I guess the commands should be registered here: https://github.com/theia-ide/theia/blob/master/packages/plugin-ext-vscode/src/browser/plugin-vscode-commands-contribution.ts#L35

benoitf commented 5 years ago

I'm not finding anymore the issue but I'm pretty sure to have read that @svenefftinge wanted to align all the names of commands to match VS Code one (I suppose all the names that are not prefixed by vscode.)

here is another list as well: https://code.visualstudio.com/docs/getstarted/keybindings#_navigation

so I would suppose vscode. commands should go as @tsmaeder said but for the others it should either rename original name (breaking change..) or currently add the alias but in theia command contribution, not only in vscode.

akosyakov commented 5 years ago

I'm not finding anymore the issue but I'm pretty sure to have read that @svenefftinge wanted to align all the names of commands to match VS Code one (I suppose all the names that are not prefixed by vscode.)

please see https://github.com/theia-ide/theia/pull/4193#issuecomment-459224709

cc @svenefftinge

akosyakov commented 5 years ago

here is another list as well: https://code.visualstudio.com/docs/getstarted/keybindings#_navigation

👍

maybe we keep this issue as an epic and open issues per a shortcut group to implement them separately and track progress? for the debug group: https://github.com/theia-ide/theia/issues/4204

vinokurig commented 4 years ago

It would be great to have next commands that are needed for the VsCode Emacs Keymap extension:

see https://github.com/eclipse-theia/theia/pull/6625

vinokurig commented 4 years ago

Needed for the VsCode Vim extension see: https://github.com/eclipse-theia/theia/pull/6687

tomer-epstein commented 4 years ago

Is there a plan to imlement 'vscode.openFolder' soon?

akosyakov commented 4 years ago

@tomer-epstein PRs are welcomed, it should not be hard to implement, there is WorkspaceService .open API which accepts an URI of a folder to open and a second options with an argument whether a window should be preserved. One has to add a new command in PluginVscodeCommandsContribution.

tavoda commented 4 years ago

After installing VSCode VIM plugin from https://marketplace.visualstudio.com/items?itemName=vscodevim.vim, I'm getting following error after pressing CTRL+F:

TaskQueue: Error running task. Failed to handle key=. Command with id 'editorScroll' is not registered.. for VSCode VIM extension

Is editorScroll still not implemented?

akosyakov commented 4 years ago

@tavoda It should be, we receive directly from Monaco editor. Do you use master? It would be worth to file a separate issue.

akosyakov commented 4 years ago

Let's keep this issue as a live document to track missed commands coverage. One can file individual issues as well, but please update the first comment of this issue.