尝试在 VS Code 中使用

内置命令

本文档列出了 Visual Studio Code 命令的一个子集,你可以在 vscode.commands.executeCommand API 中使用这些命令。

阅读 命令指南 了解如何使用命令 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 - 调用 notebook 序列化程序

  • notebookType - notebook 类型
  • data - 要转换为数据的字节
  • (返回值) - Notebook 数据

vscode.executeNotebookToData - 调用 notebook 序列化程序

  • notebookType - notebook 类型
  • NotebookData - 要转换为字节的 notebook 数据
  • (返回值) - 字节

notebook.selectKernel - 触发指定 notebook 编辑器 widget 的内核选择器

  • options - 选择内核选项
  • (返回值) - 无结果

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

  • showOptions - 显示选项
  • resource - 交互式资源 Uri
  • controllerId - Notebook 控制器 Id
  • title - 交互式编辑器标题
  • (返回值) - Notebook 和输入 URI

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

  • 运行参数 -
  • (返回值) - 无结果

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

  • uri - 文本文档的 Uri
  • position - 文本文档中的位置
  • (返回值) - 解析为 DocumentHighlight 实例数组的 promise。

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

  • uri - 文本文档的 Uri
  • (返回值) - 解析为 SymbolInformation 和 DocumentSymbol 实例数组的 promise。

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

  • uri - 文本文档的 Uri
  • options - 格式化选项
  • (返回值) - 解析为 TextEdits 数组的 promise。

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

  • uri - 文本文档的 Uri
  • range - 文本文档中的范围
  • options - 格式化选项
  • (返回值) - 解析为 TextEdits 数组的 promise。

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

  • uri - 文本文档的 Uri
  • position - 文本文档中的位置
  • ch - 触发字符
  • options - 格式化选项
  • (返回值) - 解析为 TextEdits 数组的 promise。

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

  • uri - 文本文档的 Uri
  • position - 文本文档中的位置
  • (返回值) - 解析为 Location 或 LocationLink 实例数组的 promise。

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

  • uri - 文本文档的 Uri
  • position - 文本文档中的位置
  • (返回值) - 解析为 Location 或 LocationLink 实例数组的 promise。

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

  • uri - 文本文档的 Uri
  • position - 文本文档中的位置
  • (返回值) - 解析为 Location 或 LocationLink 实例数组的 promise。

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

  • uri - 文本文档的 Uri
  • position - 文本文档中的位置
  • (返回值) - 解析为 Location 或 LocationLink 实例数组的 promise。

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

  • uri - 文本文档的 Uri
  • position - 文本文档中的位置
  • (返回值) - 解析为 Location 实例数组的 promise。

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

  • uri - 文本文档的 Uri
  • position - 文本文档中的位置
  • (返回值) - 解析为 Hover 实例数组的 promise。

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

  • uri - 文本文档的 Uri
  • position - 文本文档中的位置
  • (返回值) - 解析为范围数组的 promise。

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

  • query - 搜索字符串
  • (返回值) - 解析为 SymbolInformation 实例数组的 promise。

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

  • uri - 文本文档的 Uri
  • position - 文本文档中的位置
  • (返回值) - 解析为 CallHierarchyItem 实例数组的 promise

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

  • item - 调用层次结构项
  • (返回值) - 解析为 CallHierarchyIncomingCall 实例数组的 promise

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

  • item - 调用层次结构项
  • (返回值) - 解析为 CallHierarchyOutgoingCall 实例数组的 promise

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

  • uri - 文本文档的 Uri
  • position - 文本文档中的位置
  • (返回值) - 解析为范围和占位符文本的 promise。

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

  • uri - 文本文档的 Uri
  • position - 文本文档中的位置
  • newName - 新的符号名称
  • (返回值) - 解析为 WorkspaceEdit 的 promise。

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

  • uri - 文本文档的 Uri
  • linkResolveCount - (可选) 应解析的链接数,仅在链接未解析时。
  • (返回值) - 解析为 DocumentLink 实例数组的 promise。

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

  • uri - 文本文档的 Uri
  • (返回值) - 解析为 SemanticTokensLegend 的 promise。

vscode.provideDocumentSemanticTokens - 为文档提供语义 token

  • uri - 文本文档的 Uri
  • (返回值) - 解析为 SemanticTokens 的 promise。

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

  • uri - 文本文档的 Uri
  • range - (可选) 文本文档中的范围
  • (返回值) - 解析为 SemanticTokensLegend 的 promise。

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

  • uri - 文本文档的 Uri
  • range - 文本文档中的范围
  • (返回值) - 解析为 SemanticTokens 的 promise。

vscode.executeCompletionItemProvider - 执行补全项提供程序。

  • uri - 文本文档的 Uri
  • position - 文本文档中的位置
  • triggerCharacter - (可选) 当用户键入字符时触发补全,例如 ,(
  • itemResolveCount - (可选) 要解析的补全数 (数量过大会减慢补全速度)
  • (返回值) - 解析为 CompletionList 实例的 promise。

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

  • uri - 文本文档的 Uri
  • position - 文本文档中的位置
  • triggerCharacter - (可选) 当用户键入字符时触发签名帮助,例如 ,(
  • (返回值) - 解析为 SignatureHelp 的 promise。

vscode.executeCodeLensProvider - 执行 Code Lens 提供程序。

  • uri - 文本文档的 Uri
  • itemResolveCount - (可选) 应解析和返回的 Code Lens 数量。将只返回已解析的 Code Lens,会影响性能
  • (返回值) - 解析为 CodeLens 实例数组的 promise。

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

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

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

  • uri - 文本文档的 Uri
  • (返回值) - 解析为 ColorInformation 对象数组的 promise。

vscode.executeColorPresentationProvider - 执行颜色呈现提供程序。

  • color - 要显示和插入的颜色
  • context - 包含 uri 和范围的上下文对象
  • (返回值) - 解析为 ColorPresentation 对象数组的 promise。

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

  • uri - 文本文档的 Uri
  • range - 文本文档中的范围
  • (返回值) - 解析为 Inlay 对象数组的 promise

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

  • uri - 文本文档的 Uri
  • (返回值) - 解析为 FoldingRange 对象数组的 promise

vscode.resolveNotebookContentProviders - 解析 Notebook 内容提供程序

  • (返回值) - 解析为 NotebookContentProvider 静态信息对象数组的 promise。

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

  • uri - 文本文档的 Uri
  • range - 文本文档中的范围
  • context - InlineValueContext
  • (返回值) - 解析为 InlineValue 对象数组的 promise

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

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

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

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

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

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

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

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

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

  • uri - 文本文档的 Uri
  • position - 文本文档中的位置
  • (返回值) - 解析为 TypeHierarchyItem 实例数组的 promise

vscode.provideSupertypes - 计算某项的超类型

  • item - 类型层次结构项
  • (返回值) - 解析为 TypeHierarchyItem 实例数组的 promise

vscode.provideSubtypes - 计算某项的子类型

  • item - 类型层次结构项
  • (返回值) - 解析为 TypeHierarchyItem 实例数组的 promise

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

  • testItem - VS Code TestItem。
  • (返回值) - 无结果

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

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

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

  • uri - 文本文档的 Uri
  • string_array - 字符串数组,
  • MappedEditsContext - 映射编辑上下文
  • (返回值) - 解析为工作区编辑或 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 - 使用特定选项打开新的编辑器内查找 Widget。

  • searchString - 用于预填充查找输入框的字符串
  • replaceString - 用于预填充替换输入框的字符串
  • isRegex - 启用正则表达式
  • preserveCase - 替换时尽量保持相同的字母大小写
  • findInSelection - 将查找位置限制为当前选择
  • matchWholeWord - 全字匹配
  • isCaseSensitive - 区分大小写

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

  • uri - 开始查找的文本文档
  • position - 开始查找的位置
  • locations - 位置数组。
  • multiple - 定义存在多个结果时的操作,可以是 peekgotoAndPeekgoto
  • noResultsMessage - 位置为空时显示的人类可读消息。

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

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

workbench.action.quickOpen - 快速访问

  • prefix - 前缀 -

notebook.cell.toggleOutputs - 切换输出

  • options - 单元格范围选项

notebook.fold - 折叠单元格

  • index - 单元格索引

notebook.unfold - 展开单元格

  • index - 单元格索引

notebook.selectKernel - Notebook 内核参数

  • 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 - Notebook 控制器 Id
  • title - Notebook 编辑器标题

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 - 获取编辑器布局

  • (返回值) - 编辑器布局对象,格式与 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))。