Skip to content

插件指南

当你已经在 Hello World 示例中学到了 VS Code 插件 API 的基础后,接下来就该亲自做一个插件了。插件功能 一章中介绍了插件的高级功能,向你展示了插件都做那些事。而本章将提供详细的代码指南和示例列表,向你解释如何来使用具体的 VS Code API。

在每一篇指南或示例中,你都可以找到:

  • 源码和完整的注释
  • 一个动图或图片,展示示例的用法
  • 示例插件的运行说明
  • 正在使用的 API 列表
  • 正在使用的 Contribute 配置项列表
  • 与示例相近的真实的案例
  • 对 API 概念的解释

指南与示例

这些是 VS Code 官方网站上的指南,包含 VS Code APIContribute 配置项。不要忘记参考 用户体验指南,你可以从中学到创建一个插件过程中,在用户界面上的最佳实践。

VS Code 官方网站上的指南API & Contribute 配置项
命令commands
颜色主题contributes.themes
文件图标主题contributes.iconThemes
软件图标主题contributes.productIconThemes
树形结构视图window.createTreeView
window.registerTreeDataProvider
TreeView
TreeDataProvider
contributes.views
contributes.viewsContainers
Webviewwindow.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 示例插件仓库

示例仓库API & Contribute 配置
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
本地化示例
终端示例window.createTerminal
window.onDidChangeActiveTerminal
window.onDidCloseTerminal
window.onDidOpenTerminal
window.Terminal
window.terminals
Vim 示例commands
StatusBarItem
window.createStatusBarItem
TextEditorCursorStyle
window.activeTextEditor
Position
Range
Selection
TextEditor
TextEditorRevealType
TextDocument
版本控制示例workspace.workspaceFolders
SourceControl
SourceControlResourceGroup
scm.createSourceControl
TextDocumentContentProvider
contributes.menus
注释 API 示例
文档编辑示例commands
起步 示例contributes.walkthroughs
测试插件TestController
TestItem

语言插件示例

这里是一些 语言插件 的示例:

示例VS Code 官网上的指南
代码块示例language-extensions/snippet-guidecontributes.snippets
语言配置示例language-extensions/language-configuration-guidecontributes.languages
语言服务协议实例language-extensions/language-server-extension-guide
语言服务协议 日志流 示例N/A
语言服务协议 多根节点服务 示例https://github.com/microsoft/vscode/wiki/Adopting-Multi-Root-Workspace-APIs#language-client--language-server (GitHub repo wiki)
语言服务协议 Web 插件 示例language-extensions/language-server-extension-guide

© thebestxt.cc
辽ICP备16009524号-8
本站所有文章版权所有,转载请注明出处