扩展指南

一旦您在Hello World示例中了解了 Visual Studio Code 扩展 API 的基础知识,就可以构建一些实际的扩展了。虽然扩展功能部分提供了扩展功能的高级概述,但本部分包含详细的代码指南和示例列表,解释如何使用特定的 VS Code API。

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

  • 彻底注释了源代码。
  • 显示示例扩展的用法的 gif 或图像。
  • 运行示例扩展的说明。
  • 正在使用的 VS Code API 列表。
  • 正在使用的贡献点列表。
  • 与示例类似的现实世界扩展。
  • API 概念的解释。

指南和示例

以下是 VS Code 网站上的指南,包括VS Code API的使用和贡献点。不要忘记参考用户体验指南来了解创建扩展的用户界面最佳实践。

VS Code 网站指南 API 和贡献
Command 命令
Color Theme 贡献.主题
File Icon Theme 贡献.iconThemes
Product Icon Theme 贡献.productIconThemes
Tree View window.createTreeView
window.registerTreeDataProvider
TreeView
TreeDataProvider
贡献.views
贡献.viewsContainers
Webview window.createWebviewPanel
window.registerWebviewPanelSerializer
Custom Editors window.registerCustomEditorProvider
CustomTextEditorProvider
贡献.customEditors
Virtual Documents workspace.registerTextDocumentContentProvidercommands.registerCommand
window.showInputBox
_
Virtual Workspaces 工作区.fs
功能.virtualWorkspaces
Workspace Trust 工作区.isTrusted
工作区.onDidGrantWorkspaceTrust
功能.untrustedWorkspaces
Task Provider tasks.registerTaskProvider
任务
ShellExecution
贡献.taskDefinitions
Source Control workspace.workspaceFolders
SourceControl
SourceControlResourceGroup
scm.createSourceControl
TextDocumentContentProvider
贡献.menus
Debugger Extension 贡献.
断点 贡献.调试器
调试
Markdown Extension markdown.previewStyles
markdown.markdownItPlugins
markdown.previewScripts
Test Extension 测试控制器
测试项目
Custom Data Extension 贡献.html.customData
贡献.css.customData

以下是来自VS Code Extensions 示例存储库的其他示例的列表。

GitHub 存储库上的示例 API 和贡献
Webview Sample window.createWebviewPanel
window.registerWebviewPanelSerializer
Status Bar Sample window.createStatusBarItem
StatusBarItem
Tree View Sample window.createTreeView
window.registerTreeDataProvider
TreeView
TreeDataProvider
贡献.views
贡献.viewsContainers
Task Provider Sample tasks.registerTaskProvider
任务
ShellExecution
贡献.taskDefinitions
Multi Root Sample 工作空间.getWorkspaceFolder
工作空间.onDidChangeWorkspaceFolders
Completion Provider Sample languages.registerCompletionItemProvider
CompletionItem
SnippetString
File System Provider Sample 工作区.registerFileSystemProvider
Editor Decorator Sample TextEditor.setDecorations
DecorationOptions
DecorationInstanceRenderOptions
ThemableDecorationInstanceRenderOptions
window.createTextEditorDecorationType
TextEditorDecorationType
贡献.colors
L10N Sample
Terminal Sample window.createTerminal
window.onDidChangeActiveTerminal
window.onDidCloseTerminal
window.onDidOpenTerminal
window.Terminal
window.terminals
Vim Sample 命令
StatusBarItem
window.createStatusBarItem
TextEditorCursorStyle
window.activeTextEditor
位置
范围
选择
TextEditor
TextEditorRevealType
TextDocument
Source Control Sample workspace.workspaceFolders
SourceControl
SourceControlResourceGroup
scm.createSourceControl
TextDocumentContentProvider
贡献.menus
Commenting API Sample
Document Editing Sample 命令
Getting Started Sample 贡献.演练
Test extension 测试控制器
测试项目

语言扩展示例

这些示例是语言扩展示例:

样本 VS Code 网站指南
Snippet Sample /api/语言扩展/snippet-guide
Language Configuration Sample /api/语言扩展/语言配置指南
LSP Sample /api/语言扩展/语言服务器扩展指南
LSP Log Streaming Sample 不适用
LSP Multi Root Server Sample https://github.com/microsoft/vscode/wiki/Adopting-Multi-Root-Workspace-APIs#language-client--language-server(GitHub存储库维基)
LSP Web Extension Sample /api/语言扩展/语言服务器扩展指南