扩展 VS Code

如果您对扩展VS Code感兴趣,那么您的位置就对了。在这里,我们将概述VS代码可扩展性文档,以及如何快速构建您的第一个VS代码扩展。如果您对VS代码的可扩展性的设计方法感到好奇,您可以在这里阅读。

如果您只想使用现有的扩展,请参阅扩展市场主题,在该主题中,我们将向您展示如何从VSCode市场中查找和安装扩展。

所有VS Code扩展都共享一个公共的贡献(注册)、激活(加载)和访问VS Code可扩展性API的模型。但是VS Code扩展有两种特殊的风格,语言服务器和调试器,它们有自己的附加协议,并在各自的文档部分中介绍。

extensibility-architecture

扩展

激活时,所有扩展在我们的共享扩展主机(extension host)进程中运行。这个单独的扩展过程确保VS Code始终保持响应。

扩展包括支持:

激活 —— 当检测到特定文件类型时,当特定文件存在时,或者通过命令调色板或键组合选择命令时,加载扩展名
编辑器 —— 使用编辑器的内容—阅读和操作文本,利用选择
工作区 —— 访问开放编辑器、状态栏、信息消息等
事件 —— 连接到编辑器生命周期事件,例如:打开、关闭、更改等等
进化的编辑-创建丰富的语言支持的提供者,包括智能感知,Peek,悬浮,诊断和更多

我们有两个端到端的教程来让你学习扩展基础知识:

  • Hello World——生成一个基本的扩展,了解一个扩展的文件夹结构,扩展清单,学习激活是如何工作的,运行和调试你的扩展并在本地安装它。
  • 单词计数-根据特定的文件类型激活,更新状态栏,响应文本编辑器中的更改,在移出文件时处理扩展名。

同样有用的还有可扩展性原则和模式,它们描述了贯穿可扩展性API的共享编程模式。

语言的服务器

语言服务器是一种特殊的扩展,支持VS代码中多种语言的编辑体验。使用语言服务器,您可以实现对定义的跳转、自动完成、错误检查以及VS Code中支持的许多其他语言特性

了解更多关于语言服务器的信息。

调试适配器

VS Code实现了通用调试器UI,并依赖于调试器扩展和所谓的“调试适配器”将调试UI连接到真正的调试器或运行时。调试适配器是通过VS Code调试协议与VS Code通信的专用过程,可以用任何语言实现。

了解有关创建调试器扩展的更多信息。

查看VS Code扩展的最简单方法是通过扩展市场。您可以浏览有用的扩展,安装它们以试用它们,并了解如何为自己的开发场景扩展VS Code。

语言扩展准则

语言扩展指南主题可以帮助您决定在扩展中支持哪些语言特性。它展示了VS Code中可用的各种语言特性(例如,代码建议和操作、格式化、重命名),以及如何通过语言服务器协议或通过直接使用扩展API来实现它们。

主题、片段和着色器

通过语法高亮显示、有用的代码片段和精心设计的颜色主题,您可以对您的编程语言有很好的编辑体验。TextMate定制文件提供了这种支持,VS代码允许您轻松地打包和重用这些文件,这样您就可以直接在扩展名中使用.tmTheme, .tmSnippets.tmlanguage文件。我们的主题、片段和着色器主题向您展示了如何包含TextMate文件,以及如何创建自己的主题、片段和语言着色器。

编写扩展

有一个Yeoman扩展生成器,它使创建简单的扩展项目变得非常容易。这些都是很好的开始,您也可以找到现有的扩展示例

扩展可以用TypeScript或JavaScript编写。VS Code提供了一流的扩展开发体验,您可以在其中开发、构建、运行、测试和调试VS Code本身。

测试扩展

我们还非常支持为您的扩展编写和运行测试。您可以轻松地创建集成测试,这些测试调用VS code api,并在运行VS Code实例中测试您的代码。

扩展的想法

许多关于VS Code特性的优秀社区想法都是作为扩展而不是作为核心产品的一部分更好地实现的。通过这种方式,用户可以通过安装正确的扩展集轻松地选择他们想要的功能。VS Code团队跟踪vscode存储库中标记为*extension-candidate的GitHub问题可能的扩展。如果您正在寻找一个很好的扩展来构建,请查看*extension-candidate问题

下一个步骤

您的第一个扩展 —— 尝试创建一个简单的Hello World扩展。
扩展API —— 学习VS代码可扩展性API。
扩展示例 —— 您可以检查和构建的扩展示例列表。

Powered by Hexo and Hexo-theme-hiker

Copyright © 2013 - 2021 朝着牛逼的道路一路狂奔 All Rights Reserved.

访客数 : | 访问量 :