头图

vscode插件开发中文文档教程(8)——扩展API导览

原文链接:Extension Guides
作者:Microsoft
译者:倔强青铜三

前言

大家好,我是倔强青铜三。是一名热情的软件工程师,我热衷于分享和传播IT技术,致力于通过我的知识和技能推动技术交流与创新,欢迎关注我,微信公众号:倔强青铜三。欢迎点赞、收藏、关注,一键三连!!!

扩展API导览

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

在每个指南或示例中,您可以期望找到以下内容:

  • 注释详尽的源代码。
  • 展示示例扩展用法的 GIF 或图片。
  • 运行示例扩展的说明。
  • 列出使用的 VS Code API。
  • 列出使用的贡献点(Contribution Points)。
  • 与示例类似的现实世界扩展。
  • API 概念的解释。

指南与示例

以下是 VS Code 网站上的指南列表,包括它们对 VS Code API贡献点 的使用情况。别忘了参考 UX 指南,以了解创建扩展的最佳用户界面实践。

VS Code 网站上的指南API & 贡献点
命令commands
contributes.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 Extensions 示例仓库 的更多示例列表。

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
本地化示例
终端示例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.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 日志流示例N/A
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

最后感谢阅读!欢迎关注我,微信公众号倔强青铜三。欢迎点赞收藏关注,一键三连!!!

倔强青铜三
41 声望0 粉丝