在 VS Code 中试试

内置命令

本文档列出了在使用 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) - 解析为 DocumentHighlight 实例数组的 Promise。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

vscode.provideDocumentSemanticTokensLegend - 为文档提供语义令牌图例

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

vscode.provideDocumentSemanticTokens - 为文档提供语义令牌

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

vscode.provideDocumentRangeSemanticTokensLegend - 为文档范围提供语义令牌图例

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

vscode.provideDocumentRangeSemanticTokens - 为文档范围提供语义令牌

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

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

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

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

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

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

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

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

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

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

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

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

  • color - 要显示和插入的颜色
  • context - 包含 uri 和 range 的上下文对象
  • (returns) - 解析为 ColorPresentation 对象数组的 Promise。

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

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

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

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

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

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

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

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

vscode.open - 在编辑器中打开提供的资源。可以是文本文件或二进制文件,也可以是 http(s) URL。如果需要更精细地控制打开文本文件的选项,请改用 vscode.window.showTextDocument

  • uri - 文本或二进制文件的 URI,或 http(s) URL
  • columnOrOptions - (可选) 要打开的列,或编辑器选项,请参阅 vscode.TextDocumentShowOptions
  • label - 编辑器标签(可选)
  • (returns) - 无结果

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 - 定义当有多个结果时的操作,可以是 peekgotoAndPeekgoto
  • noResultsMessage - 当 locations 为空时显示的人类可读消息。

editor.action.peekLocations - 从文件中的位置预览位置

  • uri - 要开始的文本文档
  • position - 要开始的位置
  • locations - 位置数组。
  • multiple - 定义当有多个结果时的操作,可以是 peekgotoAndPeekgoto

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。请注意,为了向后兼容,options 也可以是布尔类型,表示 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)。