VSCode 中的扩展程序有哪些类型?

What are types of extensions in VSCode?

您好,我正在为 VSCode 创建我的第一个扩展,紧随 official tutorial 在 运行 命令 yo code 创建样板后,程序会询问要创建哪种类型的扩展。 我找不到这些类型的扩展的任何文档来帮助我确定它们之间的区别,除了 Language Extensions.

如果有一些文档解释这些会很有帮助。

从上到下:

  1. 添加任何可能的贡献点(主题、键绑定、语言支持、图标、片段等)的扩展。初始语言是 Typescript,但您可以随时使用其他语言,只要它们可以转换为 Javascript.

  2. 同1),但以JS为初始语言。不过,您也可以使用其他语言。

  3. 语法高亮的颜色主题,它是预定义标记类型的颜色集合(这些类型由语言扩展决定,由另一个扩展提供或您的)。

  4. 语言支持,这意味着处理编程或标记语言。这包括解析此类代码并为语法突出显示、代码完成、代码镜头、参数信息、格式化、linting 等提供标记。这可能包括一个语言服务器(这只是这里提到的所有过程的一个单独过程),但是在此列表中有自己的条目。

  5. 代码片段,提供小代码部分供编程时使用。

  6. Keymap,提供特定的键绑定(例如vim是一个非常流行的键绑定)。

  7. 扩展包,不是 100% 确定,但我相信这会将多个扩展打包成一个(例如,如果你有单独的键绑定和颜色主题扩展,你可以将它们打包成一个组合扩展) .

  8. 前面提到的语言服务器。语言处理可能很耗时,您不想阻塞主 (UI) 线程。因此,任何此类处理都可以移至语言服务器,甚至可以用 C++ 等更快的语言编写以获得最高性能。

鉴于此列表,应该清楚您想要 1)、2) 或 4)。