Registers a command that can be invoked via a keyboard shortcut, a menu item, an action, or directly.
Registering a command with an existing command identifier twice will cause an error.
A unique identifier for the command.
A command handler function.
The this
context used when invoking the handler function.
Disposable which unregisters this command on disposal.
Registers a text editor command that can be invoked via a keyboard shortcut, a menu item, an action, or directly.
Text editor commands are different from ordinary commands as they only execute when there is an active editor when the command is called. Also, the command handler of an editor command has access to the active editor and to an edit-builder. Note that the edit-builder is only valid while the callback executes.
A unique identifier for the command.
The this
context used when invoking the handler function.
Disposable which unregisters this command on disposal.
Executes the command denoted by the given command identifier.
string
, boolean
,
number
, undefined
, and null
, as well as Position
, Range
, Uri
and Location
.Identifier of the command to execute.
Parameters passed to the command function.
A thenable that resolves to the returned value of the given command. Returns undefined
when
the command handler function doesn't return anything.
Retrieve the list of all available commands. Commands starting with an underscore are treated as internal commands.
Set true
to not see internal commands (starting with an underscore)
Thenable that resolves to a list of command ids.
Namespace for dealing with commands. In short, a command is a function with a unique identifier. The function is sometimes also called command handler.
Commands can be added to the editor using the registerCommand and registerTextEditorCommand functions. Commands can be executed manually or from a UI gesture. Those are:
commands
-section inpackage.json
to make a command show in the command palette.keybindings
-section inpackage.json
to enable keybindings for your extension.Commands from other extensions and from the editor itself are accessible to an extension. However, when invoking an editor command not all argument types are supported.
This is a sample that registers a command handler and adds an entry for that command to the palette. First register a command handler with the identifier
extension.sayHello
.Second, bind the command identifier to a title under which it will show in the palette (
package.json
).