扩展API(Extension API)
vscode是考虑到扩展性(extensibility)而构建的。从UI到编辑体验,几乎vscode的每个部分都可以通过扩展API来定制和加强。事实上,vscode的许多核心功能都构建成了扩展,这些扩展使用了相同的扩展API。
本文档描述了:
- 如何构建,运行,调试,测试和发布扩展
- 如何利用vscode丰富的扩展API
- 去哪里找指南和代码样例从而帮助你开始学习
- 快跟上我们的最佳实践指南!
代码样例放在 Microsoft/vscode-extension-samples
如果你想寻找已发布的扩展,请前往 VS Code Extension Marketplace
扩展能做什么?(What can extensions do?)
以下是一些你可以通过扩展 API 实现的栗子:
- 更改 VS 代码的外观:比如颜色或文件图标主题 -主题
- 在 UI 中添加自定义组件和视图 -扩展工作台
- 创建 Webview 来展示我们使用 HTML/CSS/JS创建的页面 - Webview 指南构建的自定义网页
- 支持新的编程语言 -语言扩展概述
- 支持调试特定运行时间 -调试扩展指南
如果你想对扩展 API 有更全面的理解,请参阅扩展功能概述页面。扩展指南概述也包括了一系列的代码样例和指南来说明大量扩展API的用法。
如何构建扩展?(How to build extensions?)
建立一个好的扩展可能需要大量的努力。以下是 API doc 的每个部分可以帮助你解决的:
- 开始(Get Started) 通过Hello World这个示例来教你构建扩展的基本概念。
- 扩展功能(Extension Capabilities)将 vscode的庞大 API 解剖为较小的类别,并指给您更详细的主题。
- 扩展指南(Extension Guides)包括解释 vscode扩展 API 特定用法的指南和代码示例。
- 语言扩展(Language Extension)说明了如何添加对编程语言的支持,并提供了指南和代码示例。
- 测试和发布(Testing and Publishing)包括关于各种扩展开发主题的深入指南,例如测试和发布扩展。
- 高级主题(Advanced Topics)解释了高级概念,如Extension Host, Supporting Remote Development and GitHub Codespaces, 和 Proposed API.
- 引用(References)包含vscode API、贡献点和许多其他主题的详尽参考。
有什么新内容?(What’s new?)
VS 代码每月更新一次,扩展 API的更新也同样如此。每月会提供新的功能和 API,以增加 vscode扩展的能力和适用范围。
要与扩展 API 的更新保持一致,您可以查看每月版本说明,其中有专门的部分,涵盖:
- 扩展创作(Extension authoring)- 了解最新版本中提供了哪些新的扩展 API。
- 计划的扩展 API(Proposed extension APIs) - 审查并反馈即将提出的 API。
寻求帮助(Looking for help)
如果您有有关扩展开发的问题,请尝试询问:
- Stack Overflow:有成千上万的问题标记有 visual-studio-code,其中一半以上已经有答案。通过查找 vscode扩展开发问题来搜索您的问题、提出问题或帮助其他开发人员!
- Gitter Channel和VS Code Dev Slack: 扩展开发人员的公共聊天室。vscode团队成员经常加入对话。
要提供有关文档的反馈,请在Microsoft/vscode 文档中创建issues。如果您有扩展问题却你找不到答案,请在微软/vscode创建issues。