microsoft / vscode-docs

Public documentation for Visual Studio Code
http://code.visualstudio.com/docs
Other
5.64k stars 4.57k forks source link

Documentation for the whole list of available commands #683

Open ramya-rao-a opened 7 years ago

ramya-rao-a commented 7 years ago

https://code.visualstudio.com/docs/extensionAPI/vscode-api-commands lists a couple of commands.

The keyboard shortcut file has another list of available commands. This one is just a list, no docs, no description.

Can we have a page in our docs with the whole list + description?

gregvanl commented 7 years ago

Closing as the new keyboard shortcut editor lists all commands, both Command Palette name and command id. It allows search and filtering for easy discovery.

jVanZwieten commented 6 years ago

OK, but for example, what's the difference between acceptSelectedSuggestion and accepSelectedSuggestionOnEnter? It would just be really nice to have some kind of description, esp in metadata like methods, for the commands so that we can figure out the answer to that kind of question.

phil294 commented 6 years ago

@gregvanl these aren't documentation, it is a mere list of commands. For example, it is impossible to find out the available args for any of these.

taylorstutts commented 6 years ago

Because the keyboard shortcut editor is where I always look for API documentation

sebbean commented 6 years ago

what about commands that don't have keyboard shortcuts? ie: "Show next window tab"

ramya-rao-a commented 6 years ago

Re-opening to get thoughts from the @Microsoft/vscode team

octref commented 6 years ago

I think we should find a way to auto-generate the docs for commands (same for API doc, but both need better presentations on website). Static analysis of the codebase to find all command registration can be tricky to implement, but we might introduce a way to let command registry dump all data into a JSON and we generate HTML for the website from it.

Almenon commented 5 years ago

It might be a while till we have a way to automatically generate a list of commands so in the meantime I just added some directions for finding simple commands.

jrieken commented 5 years ago

Static analysis of the codebase to find all command registration can be tricky to implement, but we might introduce [...]

That's only half of the problem, the real problem is that 99% of the commands are registered without any metadata. So first you need to hunt down all the possible places that end up registering a command and then add docs for them.

SamB commented 5 years ago

FWIW, I went looking for a command with "command" in its title using Ctrl+Shift+P.

(I may also have looked for one with "contributions" in the name, because the contributions tab for an extension lists commands, among other things, but I wanted to see all of the things in one big pile.)

drwatsoncode commented 5 years ago

It seems to me that there are some very important and fundamental commands that are not described in the documentation. For example, in the "Command arguments" section of docs/getstarted/keybindings.md, it shows this example:

 { "key": "enter", "command": "type",
                    "args": { "text": "Hello World" },
                    "when": "editorTextFocus" }

But I don't see anywhere that this type command is documented, or even listed. There is a link below that example to "Builtin Commands" (api/references/commands.md). But that document does not list the type command. Where is it described? I imagine that several other very basic commands like this exist, but I don't know where to find them. (Aside from the simple commands in the default keybindings json and the vscode.executeXYZProvider functions described in commands.md.)

drwatsoncode commented 5 years ago

BTW, What I am really looking for at the moment is a command that I can run to do a pre-defined search and replace in the current editor, specifying the find text, replacement text, and options... something like below:

{ "key": "ctrl+shift+8", "command": "findReplace",
    "args": { 
       "findText": "(\\w+)Controller", 
       "replaceText": "$1Service"
       "options": { "ignoreCase": false, "wholeWord": true, "regex": true    }
     },
    "when": "editorTextFocus" }

But I haven't been able to find any such command in the documentation.

amelio-vazquez-reina commented 4 years ago

@drwatsoncode Did you get an answer to this question?

As you wrote below, I'm also looking for a comprehensive list and documentation of all the commands available.

It seems to me that there are some very important and fundamental commands that are not described in the documentation.

lieene commented 4 years ago

How can I know command arguments when I need to use the command from extension API. Keyboard shortcut editor lists only commands but not arguments. For example, how can I close a specific text editor window? workbench.action.closeActiveEditor closes the active one, does it close inactive ones when I give it arguments? What arguments does it accept anyway?

egamma commented 4 years ago

@lieene pls see https://code.visualstudio.com/api/references/commands.

sun603 commented 4 years ago

@lieene pls see https://code.visualstudio.com/api/references/commands.

setContext, type, default:type, default:replacePreviousChar... there are too many commands used in https://github.com/microsoft/vscode-extension-samples or other extensions that are undocumented, or mentioned but not in a systemic way. https://code.visualstudio.com/api/references/commands only have a few commands. Could there be a vscode.d.ts for commends?

shua commented 3 years ago

I would really appreciate if there was some way in the vscode ui to query the currently registered commands: builtin, extension, whatever. Even if there's no description, I could at least get a list of names available and maybe signature for what args it accepts and what it returns.

SamB commented 3 years ago

@shua said:

I would really appreciate if there was some way in the vscode ui to query the currently registered commands: builtin, extension, whatever. Even if there's no description, I could at least get a list of names available and maybe signature for what args it accepts and what it returns.

And, for extension-provided commands, the extension ID.

ralphcallaway commented 2 years ago

if the commands are registered, perhaps there is a command to just dump the command registry, regardless of metadata. once you have a potential candidate then you'll have a lead to go and dig through code or google around, or just play with it and see what happens

i know this wouldn't quite be documentation, but it'd be a huge step in that direction

Kilozen commented 2 years ago

An example of a built-in extension command that seems to be completely undocumented is Git: Close Repository (search: "Git: Close Repository" site:https://code.visualstudio.com/ )

It shows up in the command palette, and some third party sites say it's needed to delete a repository cleanly from vscode's perspective, but 'close' isn't any normal git command... so what does it do? Can we at least have documentation of all commands that show up in the palette, and all commands necessary for very basic operations?

A page like this: https://code.visualstudio.com/docs/editor/versioncontrol#_git-support should describe ALL relevant commands available in the palette, not just a few.

alhassy commented 2 years ago

It'd be fantastic if VSCode was self-documenting ---as is the case with Emacs, where one just presses Ctrl+h o to look up the documentation of a symbol right in the editor itself. (Usually this comes with the function signature, example usage, or advice.)

The lack of clear docs for VSCode is likely due to it's semi-open-source nature ☹️

still-dreaming-1 commented 1 year ago

Here are some keybindings that also show the command id, not just the command text: https://code.visualstudio.com/docs/getstarted/keybindings

theo-brown commented 10 months ago

@gregvanl because you de-assigned, has this been fixed somewhere? As in, is there now a comprehensive list of commands, their arguments, and functions?

kenshanta commented 1 day ago

An 8 year old issue with no leads from the official team... Not a motivating sight for new contributors 🤔