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

擴充套件指南

“Hello World”示例中學習了 Visual Studio Code 擴充套件 API 的基礎知識後,是時候構建一些真實的擴充套件了。雖然“擴充套件功能”部分概述了擴充套件可以做什麼,但本節包含詳細的程式碼指南和示例列表,解釋了如何使用特定的 VS Code API。

在每個指南或示例中,您都可以找到:

  • 詳細註釋的原始碼。
  • 顯示示例擴充套件用法的 GIF 或影像。
  • 執行示例擴充套件的說明。
  • 正在使用的 VS Code API 列表。
  • 正在使用的貢獻點列表。
  • 與示例相似的真實擴充套件。
  • API 概念的解釋。

指南和示例

以下是 VS Code 網站上的指南,包括它們對 VS Code API貢獻點 的使用。不要忘記參考 UX 指南,以瞭解建立擴充套件的使用者介面最佳實踐。

VS Code 網站上的指南 API 和貢獻點
命令 命令
contributes.commands
顏色主題 contributes.themes
檔案圖示主題 contributes.iconThemes
產品圖示主題 contributes.productIconThemes
樹檢視 window.createTreeView
window.registerTreeDataProvider
TreeView
TreeDataProvider
contributes.views
contributes.viewsContainers
Webview window.createWebviewPanel
window.registerWebviewPanelSerializer
自定義編輯器 window.registerCustomEditorProvider
CustomTextEditorProvider
contributes.customEditors
虛擬文件 workspace.registerTextDocumentContentProvider
commands.registerCommand
window.showInputBox
虛擬工作區 workspace.fs
capabilities.virtualWorkspaces
工作區信任 workspace.isTrusted
workspace.onDidGrantWorkspaceTrust
capabilities.untrustedWorkspaces
任務提供程式 tasks.registerTaskProvider
Task
ShellExecution
contributes.taskDefinitions
原始碼管理 workspace.workspaceFolders
SourceControl
SourceControlResourceGroup
scm.createSourceControl
TextDocumentContentProvider
contributes.menus
偵錯程式擴充套件 contributes.breakpoints
contributes.debuggers
debug
Markdown 擴充套件 markdown.previewStyles
markdown.markdownItPlugins
markdown.previewScripts
測試擴充套件 TestController
TestItem
自定義資料擴充套件 contributes.html.customData
contributes.css.customData

以下是來自 VS Code 擴充套件示例倉庫 的其他示例列表。

GitHub 倉庫上的示例 API 和貢獻點
Webview 示例 window.createWebviewPanel
window.registerWebviewPanelSerializer
狀態列示例 window.createStatusBarItem
StatusBarItem
樹檢視示例 window.createTreeView
window.registerTreeDataProvider
TreeView
TreeDataProvider
contributes.views
contributes.viewsContainers
任務提供程式示例 tasks.registerTaskProvider
Task
ShellExecution
contributes.taskDefinitions
多根示例 workspace.getWorkspaceFolder
workspace.onDidChangeWorkspaceFolders
完成提供程式示例 languages.registerCompletionItemProvider
CompletionItem
SnippetString
檔案系統提供程式示例 workspace.registerFileSystemProvider
編輯器裝飾器示例 TextEditor.setDecorations
DecorationOptions
DecorationInstanceRenderOptions
ThemableDecorationInstanceRenderOptions
window.createTextEditorDecorationType
TextEditorDecorationType
contributes.colors
L10N 示例
終端示例 window.createTerminal
window.onDidChangeActiveTerminal
window.onDidCloseTerminal
window.onDidOpenTerminal
window.Terminal
window.terminals
Vim 示例 命令
StatusBarItem
window.createStatusBarItem
TextEditorCursorStyle
window.activeTextEditor
Position
Range
Selection
TextEditor
TextEditorRevealType
TextDocument
原始碼管理示例 workspace.workspaceFolders
SourceControl
SourceControlResourceGroup
scm.createSourceControl
TextDocumentContentProvider
contributes.menus
註釋 API 示例
文件編輯示例 命令
contributes.commands
入門示例 contributes.walkthroughs
測試擴充套件 TestController
TestItem

語言擴充套件示例

這些是語言擴充套件示例

示例 VS Code 網站上的指南
程式碼片段示例 /api/language-extensions/snippet-guide
語言配置示例 /api/language-extensions/language-configuration-guide
LSP 示例 /api/language-extensions/language-server-extension-guide
LSP 日誌流示例 不適用
LSP 多根伺服器示例 https://github.com/microsoft/vscode/wiki/Adopting-Multi-Root-Workspace-APIs#language-client--language-server (GitHub 倉庫 Wiki)
LSP Web 擴充套件示例 /api/language-extensions/language-server-extension-guide