參加你附近的 ,瞭解 VS Code 中的 AI 輔助開發。

內建命令

本文件列出了 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 - 呼叫筆記本序列化器

  • 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 - 執行所有懸停提供程式。

  • 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 - 執行 CodeLens 提供程式。

  • 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 - 文字或二進位制檔案,或 http(s) URL 的 Uri
  • 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 - 定義有多個結果時如何處理,可以是 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)。