现已发布!了解 11 月的新功能和修复。

内置命令

本文档列出了一些你可能与 vscode.commands.executeCommand API 一起使用的 Visual Studio Code 命令子集。

阅读命令指南,了解如何使用命令 API。

以下是如何在 VS Code 中打开新文件夹的示例

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

注意:你可以通过键盘快捷方式编辑器查看完整的 VS Code 命令集 文件 > 首选项 > 键盘快捷方式。键盘快捷方式编辑器列出了 VS Code 内置或由扩展贡献的所有命令,以及它们的快捷键和可见性 when 子句。

命令

vscode.executeDataToNotebook - 调用笔记本序列化程序

  • notebookType - 笔记本类型
  • data - 要转换为数据的字节
  • (returns) - 笔记本数据

vscode.executeNotebookToData - 调用笔记本序列化程序

  • notebookType - 笔记本类型
  • NotebookData - 要转换为字节的笔记本数据
  • (returns) - 字节

notebook.selectKernel - 为指定的笔记本编辑器小部件触发内核选择器

  • options - 选择内核选项
  • (returns) - 无结果

interactive.open - 打开交互窗口并返回笔记本编辑器和输入 URI

  • showOptions - 显示选项
  • resource - 交互资源 Uri
  • controllerId - 笔记本控制器 ID
  • title - 交互编辑器标题
  • (returns) - 笔记本和输入 URI

vscode.editorChat.start - 调用新的编辑器聊天会话

  • 运行参数 -
  • (returns) - 无结果

vscode.executeDocumentHighlights - 执行文档高亮提供程序。

  • uri - 文本文档的 URI
  • position - 文本文档中的位置
  • (returns) - 一个 Promise,它解析为 DocumentHighlight 实例的数组。

vscode.executeDocumentSymbolProvider - 执行文档符号提供程序。

  • uri - 文本文档的 URI
  • (returns) - 一个 Promise,它解析为 SymbolInformation 和 DocumentSymbol 实例的数组。

vscode.executeFormatDocumentProvider - 执行文档格式提供程序。

  • uri - 文本文档的 URI
  • options - 格式化选项
  • (returns) - 一个 Promise,它解析为 TextEdit 数组。

vscode.executeFormatRangeProvider - 执行范围格式提供程序。

  • uri - 文本文档的 URI
  • range - 文本文档中的范围
  • options - 格式化选项
  • (returns) - 一个 Promise,它解析为 TextEdit 数组。

vscode.executeFormatOnTypeProvider - 执行键入格式提供程序。

  • uri - 文本文档的 URI
  • position - 文本文档中的位置
  • ch - 触发字符
  • options - 格式化选项
  • (returns) - 一个 Promise,它解析为 TextEdit 数组。

vscode.executeDefinitionProvider - 执行所有定义提供程序。

  • uri - 文本文档的 URI
  • position - 文本文档中的位置
  • (returns) - 一个 Promise,它解析为 Location 或 LocationLink 实例的数组。

vscode.executeTypeDefinitionProvider - 执行所有类型定义提供程序。

  • uri - 文本文档的 URI
  • position - 文本文档中的位置
  • (returns) - 一个 Promise,它解析为 Location 或 LocationLink 实例的数组。

vscode.executeDeclarationProvider - 执行所有声明提供程序。

  • uri - 文本文档的 URI
  • position - 文本文档中的位置
  • (returns) - 一个 Promise,它解析为 Location 或 LocationLink 实例的数组。

vscode.executeImplementationProvider - 执行所有实现提供程序。

  • uri - 文本文档的 URI
  • position - 文本文档中的位置
  • (returns) - 一个 Promise,它解析为 Location 或 LocationLink 实例的数组。

vscode.executeReferenceProvider - 执行所有引用提供程序。

  • uri - 文本文档的 URI
  • position - 文本文档中的位置
  • (returns) - 一个 Promise,它解析为 Location 实例的数组。

vscode.executeHoverProvider - 执行所有悬停提供程序。

  • uri - 文本文档的 URI
  • position - 文本文档中的位置
  • (returns) - 一个 Promise,它解析为 Hover 实例的数组。

vscode.executeSelectionRangeProvider - 执行选择范围提供程序。

  • uri - 文本文档的 URI
  • position - 文本文档中的位置
  • (returns) - 一个 Promise,它解析为范围数组。

vscode.executeWorkspaceSymbolProvider - 执行所有工作区符号提供程序。

  • query - 搜索字符串
  • (returns) - 一个 Promise,它解析为 SymbolInformation 实例的数组。

vscode.prepareCallHierarchy - 在文档中的位置准备调用层次结构

  • uri - 文本文档的 URI
  • position - 文本文档中的位置
  • (returns) - 一个 Promise,它解析为 CallHierarchyItem 实例的数组

vscode.provideIncomingCalls - 计算项目的传入调用

  • item - 调用层次结构项
  • (returns) - 一个 Promise,它解析为 CallHierarchyIncomingCall 实例的数组

vscode.provideOutgoingCalls - 计算项目的传出调用

  • item - 调用层次结构项
  • (returns) - 一个 Promise,它解析为 CallHierarchyOutgoingCall 实例的数组

vscode.prepareRename - 执行重命名提供程序的 prepareRename。

  • uri - 文本文档的 URI
  • position - 文本文档中的位置
  • (returns) - 一个 Promise,它解析为范围和占位符文本。

vscode.executeDocumentRenameProvider - 执行重命名提供程序。

  • uri - 文本文档的 URI
  • position - 文本文档中的位置
  • newName - 新的符号名称
  • (returns) - 一个 Promise,它解析为 WorkspaceEdit。

vscode.executeLinkProvider - 执行文档链接提供程序。

  • uri - 文本文档的 URI
  • linkResolveCount - (可选) 应该解析的链接数量,仅当链接未解析时。
  • (returns) - 一个 Promise,它解析为 DocumentLink 实例的数组。

vscode.provideDocumentSemanticTokensLegend - 为文档提供语义标记图例

  • uri - 文本文档的 URI
  • (returns) - 一个 Promise,它解析为 SemanticTokensLegend。

vscode.provideDocumentSemanticTokens - 为文档提供语义标记

  • uri - 文本文档的 URI
  • (returns) - 一个 Promise,它解析为 SemanticTokens。

vscode.provideDocumentRangeSemanticTokensLegend - 为文档范围提供语义标记图例

  • uri - 文本文档的 URI
  • range - (可选) 文本文档中的范围
  • (returns) - 一个 Promise,它解析为 SemanticTokensLegend。

vscode.provideDocumentRangeSemanticTokens - 为文档范围提供语义标记

  • uri - 文本文档的 URI
  • range - 文本文档中的范围
  • (returns) - 一个 Promise,它解析为 SemanticTokens。

vscode.executeCompletionItemProvider - 执行完成项提供程序。

  • uri - 文本文档的 URI
  • position - 文本文档中的位置
  • triggerCharacter - (可选) 当用户键入字符(如 ,()时触发完成
  • itemResolveCount - (可选) 要解析的完成项数量(数字过大会减慢完成速度)
  • (returns) - 一个 Promise,它解析为 CompletionList 实例。

vscode.executeSignatureHelpProvider - 执行签名帮助提供程序。

  • uri - 文本文档的 URI
  • position - 文本文档中的位置
  • triggerCharacter - (可选) 当用户键入字符(如 ,()时触发签名帮助
  • (returns) - 一个 Promise,它解析为 SignatureHelp。

vscode.executeCodeLensProvider - 执行代码镜头提供程序。

  • uri - 文本文档的 URI
  • itemResolveCount - (可选) 应该解析和返回的镜头数量。将仅返回已解析的镜头,这将影响性能
  • (returns) - 一个 Promise,它解析为 CodeLens 实例的数组。

vscode.executeCodeActionProvider - 执行代码操作提供程序。

  • uri - 文本文档的 URI
  • rangeOrSelection - 文本文档中的范围。某些重构提供程序需要 Selection 对象。
  • kind - (可选) 要为其返回代码操作的代码操作类型
  • itemResolveCount - (可选) 要解析的代码操作数量(数字过大会减慢代码操作的速度)
  • (returns) - 一个 Promise,它解析为 Command 实例的数组。

vscode.executeDocumentColorProvider - 执行文档颜色提供程序。

  • uri - 文本文档的 URI
  • (returns) - 一个 Promise,它解析为 ColorInformation 对象的数组。

vscode.executeColorPresentationProvider - 执行颜色表示提供程序。

  • color - 要显示和插入的颜色
  • context - 具有 uri 和范围的上下文对象
  • (returns) - 一个 Promise,它解析为 ColorPresentation 对象的数组。

vscode.executeInlayHintProvider - 执行内嵌提示提供程序

  • uri - 文本文档的 URI
  • range - 文本文档中的范围
  • (returns) - 一个 Promise,它解析为 Inlay 对象的数组

vscode.executeFoldingRangeProvider - 执行折叠范围提供程序

  • uri - 文本文档的 URI
  • (returns) - 一个 Promise,它解析为 FoldingRange 对象的数组

vscode.resolveNotebookContentProviders - 解析笔记本内容提供程序

  • (returns) - 一个 Promise,它解析为 NotebookContentProvider 静态信息对象的数组。

vscode.executeInlineValueProvider - 执行内联值提供程序

  • uri - 文本文档的 URI
  • range - 文本文档中的范围
  • context - 一个 InlineValueContext
  • (returns) - 一个 Promise,它解析为 InlineValue 对象的数组

vscode.open - 在编辑器中打开提供的资源。

  • URI -

vscode.openWith - 使用特定编辑器打开提供的资源。

  • resource - 要打开的资源
  • viewId - 自定义编辑器视图 ID 或 'default' 以使用 VS Code 的默认编辑器
  • columnOrOptions - (可选)打开的列或编辑器选项,请参阅 vscode.TextDocumentShowOptions
  • (returns) - 无结果

vscode.diff - 在差异编辑器中打开提供的资源以比较其内容。

  • left - 差异编辑器的左侧资源
  • right - 差异编辑器的右侧资源
  • title - 差异编辑器的易读标题
  • options - (可选)打开的列或编辑器选项(请参阅 vscode.TextDocumentShowOptions)

vscode.changes - 在更改编辑器中打开资源列表以比较其内容。

  • title - 更改编辑器的易读标题
  • resourceList - 要比较的资源列表

vscode.prepareTypeHierarchy - 在文档内的某个位置准备类型层次结构

  • uri - 文本文档的 URI
  • position - 文本文档中的位置
  • (returns) - 一个解析为 TypeHierarchyItem 实例数组的 Promise

vscode.provideSupertypes - 计算一个项的超类型

  • item - 一个类型层次结构项
  • (returns) - 一个解析为 TypeHierarchyItem 实例数组的 Promise

vscode.provideSubtypes - 计算一个项的子类型

  • item - 一个类型层次结构项
  • (returns) - 一个解析为 TypeHierarchyItem 实例数组的 Promise

vscode.revealTestInExplorer - 在资源管理器中显示一个测试实例

  • testItem - 一个 VS Code TestItem。
  • (returns) - 无结果

setContext - 设置可在 when 子句中使用的自定义上下文键值。

  • name - 上下文键名称
  • value - 上下文键值
  • (returns) - 无结果

vscode.executeMappedEditsProvider - 执行映射编辑提供程序

  • uri - 文本文档的 URI
  • string_array - 字符串数组,
  • MappedEditsContext - 映射编辑上下文
  • (returns) - 一个解析为工作区编辑或 null 的 Promise

cursorMove - 将光标移动到视图中的逻辑位置

  • 光标移动参数对象 - 可以通过此参数传递的属性-值对
    • 'to':一个强制性的逻辑位置值,提供光标移动到的位置。
      'left', 'right', 'up', 'down', 'prevBlankLine', 'nextBlankLine',
      'wrappedLineStart', 'wrappedLineEnd', 'wrappedLineColumnCenter'
      'wrappedLineFirstNonWhitespaceCharacter', 'wrappedLineLastNonWhitespaceCharacter'
      'viewPortTop', 'viewPortCenter', 'viewPortBottom', 'viewPortIfOutside'
      
    • 'by':要移动的单位。默认值基于“to”值计算。
      'line', 'wrappedLine', 'character', 'halfLine'
      
    • 'value':要移动的单位数。默认值为“1”。
    • 'select':如果为“true”,则进行选择。默认值为“false”。

editorScroll - 在给定方向上滚动编辑器

  • 编辑器滚动参数对象 - 可以通过此参数传递的属性-值对
    • 'to':一个强制性的方向值。
      'up', 'down'
      
    • 'by':要移动的单位。默认值基于“to”值计算。
      'line', 'wrappedLine', 'page', 'halfPage', 'editor'
      
    • 'value':要移动的单位数。默认值为“1”。
    • 'revealCursor':如果为“true”,则在光标位于视口之外时显示光标。

revealLine - 在给定的逻辑位置显示给定的行

  • 显示行参数对象 - 可以通过此参数传递的属性-值对
    • 'lineNumber':一个强制性的行号值。
    • 'at':必须显示该行的逻辑位置。
      'top', 'center', 'bottom'
      

editor.unfold - 展开编辑器中的内容

  • 展开编辑器参数 - 可以通过此参数传递的属性-值对
    • 'levels':要展开的级别数。如果未设置,则默认为 1。
    • 'direction':如果为“up”,则向上展开给定数量的级别,否则向下展开。
    • 'selectionLines':编辑器选择的起始行(从 0 开始)的数组,以将展开操作应用于这些行。如果未设置,则将使用活动选择。

editor.fold - 折叠编辑器中的内容

  • 折叠编辑器参数 - 可以通过此参数传递的属性-值对
    • 'levels':要折叠的级别数。
    • 'direction':如果为“up”,则向上折叠给定数量的级别,否则向下折叠。
    • 'selectionLines':编辑器选择的起始行(从 0 开始)的数组,以将折叠操作应用于这些行。如果未设置,则将使用活动选择。如果未设置级别或方向,则折叠该位置的区域,或者如果已折叠,则折叠第一个未折叠的父级。

editor.toggleFold - 根据当前状态折叠或展开编辑器中的内容

editor.actions.findWithArgs - 打开一个新的带特定选项的编辑器内查找小部件。

  • searchString - 预填充查找输入的字符串
  • replaceString - 预填充替换输入的字符串
  • isRegex - 启用正则表达式
  • preserveCase - 尝试在替换时保持相同的大小写
  • findInSelection - 将查找位置限制为当前选择
  • matchWholeWord
  • isCaseSensitive

editor.action.goToLocations - 从文件中的某个位置转到位置

  • uri - 要在其中开始的文本文档
  • position - 要在其中开始的位置
  • locations - 位置数组。
  • multiple - 定义当有多个结果时要执行的操作,可以是 peekgotoAndPeek 或 `goto`
  • noResultsMessage - 当位置为空时显示的易读消息。

editor.action.peekLocations - 从文件中的某个位置查看位置

  • uri - 要在其中开始的文本文档
  • position - 要在其中开始的位置
  • locations - 位置数组。
  • multiple - 定义当有多个结果时要执行的操作,可以是 peekgotoAndPeek 或 `goto`

workbench.action.quickOpen - 快速访问

  • prefix -

notebook.cell.toggleOutputs - 切换输出

  • options - 单元格范围选项

notebook.fold - 折叠单元格

  • index - 单元格索引

notebook.unfold - 展开单元格

  • index - 单元格索引

notebook.selectKernel - 笔记本内核参数

  • kernelInfo - 内核信息

notebook.cell.changeLanguage - 更改单元格语言

  • range - 单元格范围
  • language - 目标单元格语言

notebook.execute - 全部运行

  • uri - 文档 URI

notebook.cell.execute - 执行单元格

  • options - 单元格范围选项

notebook.cell.executeAndFocusContainer - 执行单元格并聚焦容器

  • options - 单元格范围选项

notebook.cell.cancelExecution - 停止单元格执行

  • options - 单元格范围选项

workbench.action.findInFiles - 打开工作区搜索

  • 搜索的一组选项 -

_interactive.open - 打开交互式窗口

  • showOptions - 显示选项
  • resource - 交互资源 Uri
  • controllerId - 笔记本控制器 ID
  • title - 笔记本编辑器标题

interactive.execute - 执行输入框的内容

  • resource - 交互资源 Uri

search.action.openNewEditor - 打开新的搜索编辑器。传递的参数可以包括 ${relativeFileDirname} 等变量。

  • 打开新的搜索编辑器参数 -

search.action.openEditor - 打开新的搜索编辑器。传递的参数可以包括 ${relativeFileDirname} 等变量。

  • 打开新的搜索编辑器参数 -

search.action.openNewEditorToSide - 打开新的搜索编辑器。传递的参数可以包括 ${relativeFileDirname} 等变量。

  • 打开新的搜索编辑器参数 -

vscode.openFolder - 在当前窗口或新窗口中打开文件夹或工作区,具体取决于 newWindow 参数。请注意,在同一窗口中打开会关闭当前扩展主机进程,并在给定文件夹/工作区上启动新的扩展主机进程,除非 newWindow 参数设置为 true。

  • uri - (可选)要打开的文件夹或工作区文件的 URI。如果未提供,则本机对话框将要求用户提供文件夹
  • options - (可选)选项。具有以下属性的对象:forceNewWindow:是否在新窗口或同一窗口中打开文件夹/工作区。默认为在同一窗口中打开。forceReuseWindow:是否强制在同一窗口中打开文件夹/工作区。默认为 false。noRecentEntry:打开的 URI 是否会出现在“打开最近”列表中。默认为 false。请注意,为了向后兼容,选项也可以是布尔类型,表示 forceNewWindow 设置。

vscode.newWindow - 根据 newWindow 参数打开一个新窗口。

  • options - (可选)选项。具有以下属性的对象:reuseWindow:是否打开新窗口或同一窗口。默认为在新窗口中打开。

vscode.removeFromRecentlyOpened - 从最近打开的列表中删除具有给定路径的条目。

  • path - 要从最近打开的列表中删除的 URI 或 URI 字符串。

moveActiveEditor - 按选项卡或组移动活动编辑器

  • 活动编辑器移动参数 - 参数属性
    • 'to':提供移动位置的字符串值。
    • 'by':提供移动单位(按选项卡或按组)的字符串值。
    • 'value':提供要移动的位置数量或绝对位置的数值。

copyActiveEditor - 按组复制活动编辑器

  • 活动编辑器复制参数 - 参数属性
    • 'to':提供复制位置的字符串值。
    • 'value':提供要复制的位置数量或绝对位置的数值。

vscode.getEditorLayout - 获取编辑器布局

  • (returns) - 一个编辑器布局对象,格式与 vscode.setEditorLayout 相同

workbench.action.files.newUntitledFile - 新建未命名文本文件

  • 新建未命名文本文件参数 - 如果已知,则为编辑器视图类型或语言 ID

workbench.extensions.installExtension - 安装给定的扩展

  • extensionIdOrVSIXUri - 扩展 ID 或 VSIX 资源 URI
  • options - (可选)用于安装扩展的选项。具有以下属性的对象:installOnlyNewlyAddedFromExtensionPackVSIX:启用后,VS Code 仅从扩展包 VSIX 安装新添加的扩展。此选项仅在安装 VSIX 时考虑。

workbench.extensions.uninstallExtension - 卸载给定的扩展

  • 要卸载的扩展的 ID -

workbench.extensions.search - 搜索特定的扩展

  • 要在搜索中使用的查询 -

workbench.action.tasks.runTask - 运行任务

  • args - 筛选快速选择中显示的任务

workbench.action.openIssueReporter - 打开问题报告器,并可以选择预填充表单的一部分。

  • options - 用于预填充问题报告器的数据。

vscode.openIssueReporter - 打开问题报告器,并可以选择预填充表单的一部分。

  • options - 用于预填充问题报告器的数据。

workbench.action.openLogFile - workbench.action.openLogFile

  • logFile -

workbench.action.openWalkthrough - 打开演练。

  • walkthroughID - 要打开的演练的 ID。
  • toSide - 在侧面的新编辑器组中打开演练。

简单命令

可以在默认 keybindings.json 文件中的“键盘快捷方式”列表中找到不需要参数的简单命令。未绑定的命令在文件的底部以注释块的形式列出。

要查看默认的 keybindings.json,请从命令面板中运行“首选项:打开默认键盘快捷方式 (JSON)”(⇧⌘P (Windows, Linux Ctrl+Shift+P))。