Built-in Commands

This document lists a subset of Visual Studio Code commands that you might use with vscode.commands.executeCommand API.

Read the Commands guide for how to use the commands API.

The following is a sample of how to open a new folder in VS Code:

let uri = Uri.file('/some/path/to/folder');
let success = await commands.executeCommand('vscode.openFolder', uri);

Note: You can review the full set of VS Code commands via the Keyboard Shortcuts editor File > Preferences > Keyboard Shortcuts (on macOS Code > Preferences > Keyboard Shortcuts). The Keyboard Shortcuts editor lists all commands built into VS Code or contributed by extensions, along with their keybindings and visibility when clauses.

Commands

vscode.executeDocumentHighlights - Execute document highlight provider.

  • uri - Uri of a text document
  • position - A position in a text document
  • (returns) - A promise that resolves to an array of DocumentHighlight-instances.

vscode.executeDocumentSymbolProvider - Execute document symbol provider.

  • uri - Uri of a text document
  • (returns) - A promise that resolves to an array of SymbolInformation and DocumentSymbol instances.

vscode.executeFormatDocumentProvider - Execute document format provider.

  • uri - Uri of a text document
  • options - Formatting options
  • (returns) - A promise that resolves to an array of TextEdits.

vscode.executeFormatRangeProvider - Execute range format provider.

  • uri - Uri of a text document
  • range - A range in a text document
  • options - Formatting options
  • (returns) - A promise that resolves to an array of TextEdits.

vscode.executeFormatOnTypeProvider - Execute format on type provider.

  • uri - Uri of a text document
  • position - A position in a text document
  • ch - Trigger character
  • options - Formatting options
  • (returns) - A promise that resolves to an array of TextEdits.

vscode.executeDefinitionProvider - Execute all definition providers.

  • uri - Uri of a text document
  • position - A position in a text document
  • (returns) - A promise that resolves to an array of Location or LocationLink instances.

vscode.executeTypeDefinitionProvider - Execute all type definition providers.

  • uri - Uri of a text document
  • position - A position in a text document
  • (returns) - A promise that resolves to an array of Location or LocationLink instances.

vscode.executeDeclarationProvider - Execute all declaration providers.

  • uri - Uri of a text document
  • position - A position in a text document
  • (returns) - A promise that resolves to an array of Location or LocationLink instances.

vscode.executeFoldingRangeProvider - Execute folding range provider.

  • uri - Uri of a text document
  • (returns) - A Promise that resolves to an array of FoldingRange instances.

vscode.executeImplementationProvider - Execute all implementation providers.

  • uri - Uri of a text document
  • position - A position in a text document
  • (returns) - A promise that resolves to an array of Location or LocationLink instances.

vscode.executeReferenceProvider - Execute all reference providers.

  • uri - Uri of a text document
  • position - A position in a text document
  • (returns) - A promise that resolves to an array of Location-instances.

vscode.executeHoverProvider - Execute all hover providers.

  • uri - Uri of a text document
  • position - A position in a text document
  • (returns) - A promise that resolves to an array of Hover-instances.

vscode.executeSelectionRangeProvider - Execute selection range provider.

  • uri - Uri of a text document
  • position - Position in a text document
  • (returns) - A promise that resolves to an array of ranges.

vscode.executeWorkspaceSymbolProvider - Execute all workspace symbol providers.

  • query - Search string
  • (returns) - A promise that resolves to an array of SymbolInformation-instances.

vscode.prepareCallHierarchy - Prepare call hierarchy at a position inside a document

  • uri - Uri of a text document
  • position - A position in a text document
  • (returns) - A promise that resolves to an array of CallHierarchyItem-instances

vscode.provideIncomingCalls - Compute incoming calls for an item

  • item - A call hierarchy item
  • (returns) - A promise that resolves to an array of CallHierarchyIncomingCall-instances

vscode.provideOutgoingCalls - Compute outgoing calls for an item

  • item - A call hierarchy item
  • (returns) - A promise that resolves to an array of CallHierarchyOutgoingCall-instances

vscode.prepareRename - Execute the prepareRename of rename provider

  • uri - Uri of a text document
  • position - A position in a text document
  • (returns) A promise that resolves to a range and placeholder text.

vscode.executeDocumentRenameProvider - Execute rename provider.

  • uri - Uri of a text document
  • position - A position in a text document
  • newName - The new symbol name
  • (returns) - A promise that resolves to a WorkspaceEdit.

vscode.executeLinkProvider - Execute document link provider.

  • uri - Uri of a text document
  • linkResolveCount - (optional) Number of links that should be resolved, only when links are unresolved.
  • (returns) - A promise that resolves to an array of DocumentLink-instances.

vscode.provideDocumentSemanticTokensLegend - Provide semantic tokens legend for a document

  • uri - Uri of a text document
  • (returns) - A promise that resolves to SemanticTokensLegend.

vscode.provideDocumentSemanticTokens - Provide semantic tokens for a document

  • uri - Uri of a text document
  • (returns) - A promise that resolves to SemanticTokens.

vscode.provideDocumentRangeSemanticTokensLegend - Provide semantic tokens legend for a document range

  • uri - Uri of a text document
  • (returns) - A promise that resolves to SemanticTokensLegend.

vscode.provideDocumentRangeSemanticTokens - Provide semantic tokens for a document range

  • uri - Uri of a text document
  • range - A range in a text document
  • (returns) - A promise that resolves to SemanticTokens.

vscode.executeCompletionItemProvider - Execute completion item provider.

  • uri - Uri of a text document
  • position - A position in a text document
  • triggerCharacter - (optional) Trigger completion when the user types the character, like , or (
  • itemResolveCount - (optional) Number of completions to resolve (too large numbers slow down completions)
  • (returns) - A promise that resolves to a CompletionList-instance.

vscode.executeSignatureHelpProvider - Execute signature help provider.

  • uri - Uri of a text document
  • position - A position in a text document
  • triggerCharacter - (optional) Trigger signature help when the user types the character, like , or (
  • (returns) - A promise that resolves to SignatureHelp.

vscode.executeCodeLensProvider - Execute code lens provider.

  • uri - Uri of a text document
  • itemResolveCount - (optional) Number of lenses that should be resolved and returned. Will only return resolved lenses, will impact performance)
  • (returns) - A promise that resolves to an array of CodeLens-instances.

vscode.executeCodeActionProvider - Execute code action provider.

  • uri - Uri of a text document
  • rangeOrSelection - Range in a text document. Some refactoring provider requires Selection object.
  • kind - (optional) Code action kind to return code actions for
  • itemResolveCount - (optional) Number of code actions to resolve (too large numbers slow down code actions)
  • (returns) - A promise that resolves to an array of Command-instances.

vscode.executeDocumentColorProvider - Execute document color provider.

  • uri - Uri of a text document
  • (returns) - A promise that resolves to an array of ColorInformation objects.

vscode.executeColorPresentationProvider - Execute color presentation provider.

  • color - The color to show and insert
  • context - Context object with uri and range
  • (returns) - A promise that resolves to an array of ColorPresentation objects.

vscode.executeInlayHintProvider - Execute inlay hints provider

  • uri - Uri of a text document
  • range - A range in a text document
  • (returns) - A promise that resolves to an array of Inlay objects

vscode.resolveNotebookContentProviders - Resolve Notebook Content Providers

  • (returns) - A promise that resolves to an array of NotebookContentProvider static info objects.

vscode.executeInlineValueProvider - Execute inline value provider

  • uri - Uri of a text document
  • range - A range in a text document
  • (returns) - A promise that resolves to an array of InlineValue objects

vscode.open - Opens the provided resource in the editor. Can be a text or binary file, or an http(s) URL. If you need more control over the options for opening a text file, use vscode.window.showTextDocument instead.

  • uri - Uri of a text document
  • columnOrOptions - (optional) Either the column in which to open or editor options, see vscode.TextDocumentShowOptions
  • label - (optional)
  • (returns) - no result

vscode.openWith - Opens the provided resource with a specific editor.

  • resource - Resource to open
  • viewId - Custom editor view id or 'default' to use VS Code's default editor
  • columnOrOptions - (optional) Either the column in which to open or editor options, see vscode.TextDocumentShowOptions
  • (returns) - no result

vscode.diff - Opens the provided resources in the diff editor to compare their contents.

  • left - Left-hand side resource of the diff editor
  • right - Right-hand side resource of the diff editor
  • title - (optional) Human readable title for the diff editor
  • columnOrOptions - (optional) Either the column in which to open or editor options, see vscode.TextDocumentShowOptions
  • (returns) - no result

vscode.prepareTypeHierarchy - Prepare type hierarchy at a position inside a document

  • uri - Uri of a text document
  • position - A position in a text document
  • (returns) - A promise that resolves to an array of TypeHierarchyItem-instances

vscode.provideSupertypes - Compute supertypes for an item

  • item - A type hierarchy item
  • (returns) - A promise that resolves to an array of TypeHierarchyItem-instances

vscode.provideSubtypes - Compute subtypes for an item

  • item - A type hierarchy item
  • (returns) - A promise that resolves to an array of TypeHierarchyItem-instances

vscode.revealTestInExplorer - Reveals a test instance in the explorer

  • testItem - A VS Code TestItem.

vscode.removeFromRecentlyOpened - Removes an entry with the given path from the recently opened list

  • path - Path to remove from recently opened.

vscode.openIssueReporter - Opens the issue reporter with the provided extension id as the selected source

  • extensionId - extensionId to report an issue on

cursorMove - Move cursor to a logical position in the view

  • Cursor move argument object - Property-value pairs that can be passed through this argument:
    • 'to': A mandatory logical position value providing where to move the cursor.
      'left', 'right', 'up', 'down', 'prevBlankLine', 'nextBlankLine',
      'wrappedLineStart', 'wrappedLineEnd', 'wrappedLineColumnCenter'
      'wrappedLineFirstNonWhitespaceCharacter', 'wrappedLineLastNonWhitespaceCharacter'
      'viewPortTop', 'viewPortCenter', 'viewPortBottom', 'viewPortIfOutside'
      
    • 'by': Unit to move. Default is computed based on 'to' value.
      'line', 'wrappedLine', 'character', 'halfLine'
      
    • 'value': Number of units to move. Default is '1'.
    • 'select': If 'true' makes the selection. Default is 'false'.

editorScroll - Scroll editor in the given direction

  • Editor scroll argument object - Property-value pairs that can be passed through this argument:
    • 'to': A mandatory direction value.
      'up', 'down'
      
    • 'by': Unit to move. Default is computed based on 'to' value.
      'line', 'wrappedLine', 'page', 'halfPage'
      
    • 'value': Number of units to move. Default is '1'.
    • 'revealCursor': If 'true' reveals the cursor if it is outside view port.

revealLine - Reveal the given line at the given logical position

  • Reveal line argument object - Property-value pairs that can be passed through this argument:
    • 'lineNumber': A mandatory line number value.
    • 'at': Logical position at which line has to be revealed.
      'top', 'center', 'bottom'
      

editor.unfold - Unfold the content in the editor

  • Unfold editor argument - Property-value pairs that can be passed through this argument:
    • 'levels': Number of levels to unfold. If not set, defaults to 1.
    • 'direction': If 'up', unfold given number of levels up otherwise unfolds down.
    • 'selectionLines': The start lines (0-based) of the editor selections to apply the unfold action to. If not set, the active selection(s) will be used.

editor.fold - Fold the content in the editor

  • Fold editor argument - Property-value pairs that can be passed through this argument:
    • 'levels': Number of levels to fold.
    • 'direction': If 'up', folds given number of levels up otherwise folds down.
    • 'selectionLines': The start lines (0-based) of the editor selections to apply the fold action to. If not set, the active selection(s) will be used. If no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead.

editor.action.goToLocations - Go to locations from a position in a file

  • uri - The text document in which to start
  • position - The position at which to start
  • locations - An array of locations.
  • multiple - Define what to do when having multiple results, either peek, gotoAndPeek, or `goto
  • noResultsMessage - Human readable message that shows when locations is empty.

editor.action.peekLocations - Peek locations from a position in a file

  • uri - The text document in which to start
  • position - The position at which to start
  • locations - An array of locations.
  • multiple - Define what to do when having multiple results, either peek, gotoAndPeek, or `goto

workbench.action.quickOpen - Quick access

  • prefix - String value indicating the value to fill into the quick access input field when opening

moveActiveEditor - Move the active editor by tabs or groups

  • Active editor move argument - Argument Properties:
    • 'to': String value providing where to move.
    • 'by': String value providing the unit for move (by tab or by group).
    • 'value': Number value providing how many positions or an absolute position to move.

vscode.setEditorLayout - Sets the editor layout.

  • layout - The editor layout to set.

The layout is described as object with an initial (optional) orientation (0 = horizontal, 1 = vertical) and an array of editor groups within. Each editor group can have a size and another array of editor groups that will be laid out orthogonal to the orientation. If editor group sizes are provided, their sum must be 1 to be applied per row or column. Example for a 2x2 grid: { orientation: 0, groups: [{ groups: [{}, {}], size: 0.5 }, { groups: [{}, {}], size: 0.5 }] }

notebook.cell.execute - Execute Cell

  • range - The cell range
  • uri - The document uri

notebook.cell.cancelExecution - Stop Cell Execution

  • range - The cell range
  • uri - The document uri

notebook.execute - Execute Notebook

  • uri - The document uri

notebook.cancelExecution - Cancel Notebook Execution

  • uri - The document uri

notebook.fold - Fold Cell

  • index - The cell index

notebook.unfold - Unfold Cell

  • index - The cell index

notebook.selectKernel - Notebook Kernel Args

  • kernelInfo - The kernel info

search.action.openNewEditor - Open a new search editor. Arguments passed can include variables like ${relativeFileDirname}.

  • Open new Search Editor args -

search.action.openEditor - Open a new search editor. Arguments passed can include variables like ${relativeFileDirname}.

  • Open new Search Editor args -

search.action.openNewEditorToSide - Open a new search editor. Arguments passed can include variables like ${relativeFileDirname}.

  • Open new Search Editor args -

vscode.openFolder - Open a folder or workspace in the current window or new window depending on the newWindow argument. Note that opening in the same window will shutdown the current extension host process and start a new one on the given folder/workspace unless the newWindow parameter is set to true.

  • uri - (optional) Uri of the folder or workspace file to open. If not provided, a native dialog will ask the user for the folder
  • options - (optional) Options. Object with the following properties: forceNewWindow : Whether to open the folder/workspace in a new window or the same. Defaults to opening in the same window. noRecentEntry: Whether the opened URI will appear in the 'Open Recent' list. Defaults to true. Note, for backward compatibility, options can also be of type boolean, representing the forceNewWindow setting.

workbench.extensions.installExtension - Install the given extension

  • Extension id or VSIX resource uri -

workbench.extensions.uninstallExtension - Uninstall the given extension

  • Id of the extension to uninstall -

workbench.extensions.search - Search for a specific extension

  • Query to use in search -

workbench.action.files.newUntitledFile - New Untitled File

  • viewType - The editor view type

workbench.action.findInFiles - Open the search viewlet

  • A set of options for the search viewlet -

Simple commands

Simple commands that do not require parameters can be found in the Keyboard Shortcuts list in the default keybindings.json file. The unbound commands are listed in a comment block at the bottom of the file.

To review keybindings.json:

Windows, Linux: File > Preferences > Keyboard Shortcuts > keybindings.json link

macOS: Code > Preferences > Keyboard Shortcuts > keybindings.json link