尝试以扩展 VS Code 中的代理模式!

2024 年 4 月 (1.89 版本)

1.89.1 更新:此更新解决了这些问题

下载:Windows:x64 Arm64 | Mac:Universal Intel Apple 芯片 | Linux:deb rpm tarball Arm snap


欢迎使用 Visual Studio Code 2024 年 4 月版。此版本包含许多更新,我们希望您会喜欢,其中一些主要亮点包括:

如果您想在线阅读这些发行说明,请访问 code.visualstudio.com 上的更新Insiders 版:想尽快试用新功能?您可以下载每夜版Insiders 构建版本,并尽快试用最新的更新。

辅助功能

进度辅助功能信号

设置 accessibility.signals.progress 允许屏幕阅读器用户在用户界面中显示进度条的任何位置听到进度。信号在三秒钟后播放,然后每五秒循环一次,直到进度条完成。信号可能播放的示例包括:搜索工作区时、聊天响应挂起时、笔记本单元正在运行时等等。

改进的编辑器辅助功能信号

现在,当一行出现错误或警告时,或者当光标位于错误或警告上时,会有单独的辅助功能信号。

我们支持单独自定义在编辑器中行和列之间导航时辅助功能信号的延迟。此外,aria 警报信号在播放之前比音频提示信号有更高的延迟。

当建议控件显示时,内联建议不再触发辅助功能信号。

可访问视图

可访问视图 (⌥F2 (Windows Alt+F2, Linux Shift+Alt+F2)) 允许屏幕阅读器用户检查工作台功能。

终端改进

现在,当您在终端可访问视图中导航到下一个 (⌥↓ (Windows, Linux Alt+Down)) 或上一个 (⌥↑ (Windows, Linux Alt+Up)) 命令时,您可以听到当前命令是否失败。此功能可以通过设置 accessibility.signals.terminalCommandFailed 进行切换。

当此视图从启用 shell 集成的终端打开时,VS Code 会弹出终端命令行,以提供改进的体验。

聊天代码块导航

当您在聊天响应的可访问视图中时,您现在可以在下一个 (⌥⌘PageDown (Windows, Linux Ctrl+Alt+PageDown)) 和上一个 (⌥⌘PageUp (Windows, Linux Ctrl+Alt+PageUp)) 代码块之间导航。

注释视图

如果安装了提供注释的扩展,并且注释视图处于焦点状态,您可以在可访问视图中检查和导航视图中的注释。可以在可访问视图中执行注释上可用的扩展提供的操作。

工作台

语言模型使用情况报告

对于使用语言模型的扩展,您现在可以在扩展编辑器和运行时扩展编辑器中跟踪它们的语言模型使用情况。例如,您可以查看语言模型请求的数量,如以下屏幕截图所示的 Copilot Chat 扩展

Screenshot of the Runtime Status for the Copilot Chat extension, showing the number of language model requests.

本地工作区扩展

本地工作区扩展,首次在 VS Code 1.88 版本中引入,现已正式发布。您现在可以直接在工作区中包含扩展,并仅为该工作区安装它。此功能旨在满足您的特定工作区需求,并提供更量身定制的开发体验。

要使用此功能,您需要将扩展放在工作区中的 .vscode/extensions 文件夹中。然后,VS Code 会在“扩展”视图的工作区建议部分显示此扩展,用户可以在其中安装它。VS Code 仅为该工作区安装此扩展。本地工作区扩展要求用户在安装和运行此扩展之前信任工作区。

例如,考虑 VS Code 存储库中的 vscode-selfhost-test-provider 扩展。此扩展提供了测试功能,使贡献者可以直接在工作区中查看和运行测试。以下屏幕截图显示了“扩展”视图的“工作区建议”部分中的 vscode-selfhost-test-provider 扩展以及安装它的能力。

Screenshot showing a local workspace extension available in the .vscode folder in the Explorer view.

请注意,您应该将未打包的扩展包含在 .vscode/extensions 文件夹中,而不是 VSIX 文件。您还可以仅包含扩展的源代码,并将其构建为工作区设置的一部分。

快速打开中的自定义编辑器标签

上个月,我们引入了自定义标签,让您可以个性化编辑器选项卡的标签。此功能旨在帮助您更轻松地区分同名文件(例如 index.tsx 文件)的选项卡。

在此基础上,我们将自定义标签的使用范围扩展到快速打开 (⌘P (Windows, Linux Ctrl+P))。现在,您可以使用创建的自定义标签搜索文件,使文件导航更加直观。

Screenshot showing the use of custom labels in Quick Open to distinguish between multiple 'index.jsx' files.

自定义按键绑定

我们使自定义用户界面操作的按键绑定更加简单。右键单击工作台中的任何操作项,然后选择自定义按键绑定。如果操作具有 when 子句,它将自动包含在内,从而更容易按照您需要的方式设置按键绑定。

在树中查找按键绑定

我们解决了一个问题,即“查找”控件经常在树控件中意外打开。例如,当“查找”控件出现在“资源管理器”视图中而不是在编辑器中搜索时。

为了减少这些意外激活,我们将树控件中打开“查找”控件的默认按键绑定更改为 ⌥⌘F (Windows, Linux Ctrl+Alt+F)。如果您喜欢以前的设置,您可以使用“键盘快捷方式”编辑器轻松恢复 list.find 命令的原始按键绑定。

自动检测系统颜色模式改进

如果您希望主题跟随系统的颜色模式,您可以通过启用设置 window.autoDetectColorScheme 来实现。

启用后,当前主题由深色模式下的 workbench.preferredDarkColorTheme 设置和浅色模式下的 workbench.preferredLightColorTheme 设置定义。

在这种情况下,workbench.colorTheme 设置将不再考虑。它仅在 window.autoDetectColorScheme 关闭时使用。

在此里程碑中,新功能是主题选择器对话框(首选项:颜色主题命令)现在能够感知系统颜色模式。请注意,当系统处于深色模式时,主题选择器仅显示深色主题

Screenshot showing the theme selection dialog configuring the theme for Dark mode.

该对话框还有一个新按钮,可以直接将您带到 window.autoDetectColorScheme 设置

Screenshot showing the theme selection dialog, highlighting the button to configure the autoDetectColorScheme setting.

在“评论”控件的输入编辑器中,粘贴链接的行为与在 Markdown 文件中粘贴链接的行为相同。将显示粘贴选项,您可以选择粘贴 Markdown 链接而不是复制的原始链接。

Screenshot of Comments control, showing the paste link context menu.

源代码管理

切换分支时保存/恢复打开的编辑器

在此里程碑中,我们解决了保存和恢复编辑器在源代码管理分支之间切换时的长期功能请求。使用 scm.workingSets.enabled 设置启用此功能。

要控制首次切换到分支时打开的编辑器,您可以使用 scm.workingSets.default 设置。您可以选择不打开任何编辑器 (empty),或使用当前打开的编辑器 (current,默认值)。

用于查看更改的专用命令

为了更轻松地在多文件差异编辑器中查看特定类型的更改,我们向命令面板添加了一组新命令:Git:查看暂存更改Git:查看更改Git:查看未跟踪更改

Notebook

最小错误渲染器

您可以使用设置 notebook.output.minimalErrorRendering 为笔记本错误渲染器使用新的布局。此新布局仅显示错误和消息,以及一个用于将完整错误堆栈展开到视图中的控件。

禁用大型笔记本的备份

现在已为大型笔记本文件禁用定期文件备份,以减少将文件写入磁盘所需的时间。该限制可以通过设置 notebook.backup.sizeLimit 进行调整。我们还在试验一个选项,以避免在使用 notebook.experimental.remoteSave 保存笔记本文件时阻塞渲染器,以便自动保存可以在没有性能损失的情况下进行。

修复大纲/粘滞滚动性能回归

在过去的几个月中,我们收到了关于笔记本编辑器性能回归的反馈。这些回归很难确定,也不容易重现。感谢社区持续提供日志和反馈,我们能够确定回归来自大纲和粘滞滚动功能,因为我们向它们添加了新功能。这些问题已在此版本中修复。

我们感谢社区的反馈和耐心,我们将继续改进笔记本编辑器的性能。如果您继续遇到性能问题,请随时在 VS Code 存储库中提交新问题。

快速搜索使您能够快速地在工作区文件中执行文本搜索。快速搜索不再是实验性的,因此请使用命令面板 (⇧⌘P (Windows, Linux Ctrl+Shift+P)) 中的搜索:快速搜索命令尝试一下!✨🔍

主题:Night Owl Light(在 vscode.dev 上预览)

请注意,所有快速搜索命令和设置的标识符中不再包含“experimental”关键字。例如,命令 ID workbench.action.experimental.quickTextSearch 变为 workbench.action.quickTextSearch。如果您有使用这些旧 ID 的设置或按键绑定,这可能会有所关联。

搜索树递归展开

我们有一个新的上下文菜单选项,使您能够递归打开搜索树中选定的树节点。

主题:Night Owl Light(在 vscode.dev 上预览)

终端

Git Bash shell 集成默认启用

Git Bash 的 Shell 集成现在自动启用。这为 Git Bash 带来了许多功能,例如命令导航粘滞滚动快速修复等等。

配置鼠标中键粘贴

在大多数 Linux 发行版中,鼠标中键用于粘贴选定内容。现在可以通过将 terminal.integrated.middleClickBehavior 配置为 paste,在其他操作系统上启用类似行为,这将通过鼠标中键粘贴常规剪贴板内容。

通过 OSC 8 转义序列创建的 ANSI 超链接以前仅支持 httphttps 协议,但现在支持任何协议。默认情况下,出于安全原因,仅激活具有 filehttphttpsmailtovscodevscode-insiders 协议的链接,但您可以通过 terminal.integrated.allowedLinkSchemes 设置添加更多链接。

终端新图标选择器

现在,从终端选项卡上下文菜单中选择更改图标会打开为配置文件构建的新图标选择器

Screenshot showing the new icon picker shows a preview and the id of the icon as well as a filter box

主题:Sapphire(在 vscode.dev 上预览)

支持窗口大小报告

终端现在响应以下转义序列请求

  • CSI 14 t 报告终端的窗口大小(像素)
  • CSI 16 t 报告终端的单元格大小(像素)
  • CSI 18 t 报告终端的窗口大小(字符)

⚠️ Canvas 渲染器弃用

终端具有三种不同的渲染器:DOM 渲染器、WebGL 渲染器和 Canvas 渲染器。我们希望删除 Canvas 渲染器已有一段时间,但由于 DOM 渲染器性能不可接受且 WebKit 未实现 webgl2 而受阻。这两个问题现在都已解决!

在此版本中,我们已从回退链中删除了 Canvas 渲染器,因此仅当 terminal.integrated.gpuAcceleration 设置明确设置为 "canvas" 时才启用它。我们计划在下个版本中完全删除 Canvas 渲染器。如果 terminal.integrated.gpuAcceleration 设置为 "on""off" 时您遇到问题,请告诉我们。

调试

JavaScript 调试器

JavaScript 调试器现在会自动在 runtimeExecutable 配置中查找出现在 node_modules/.bin 文件夹中的二进制文件。现在,它会按名称自动解析它们。

在以下示例中,请注意您只需引用 mocha,而无需指定二进制文件的完整路径。

{
	"name": "Run Tests",
	"type": "node",
	"request": "launch",
-	"runtimeExecutable": "${workspaceFolder}/node_modules/.bin/mocha",
-	"windows": {
-		"runtimeExecutable": "${workspaceFolder}/node_modules/.bin/mocha.cmd"
-	},
+	"runtimeExecutable": "mocha",
}

语言

Markdown 路径补全中的图像预览

VS Code 内置的 Markdown 工具为 Markdown 中的链接和图像提供路径补全。现在,当补全图像或视频文件的路径时,我们直接在补全详细信息中显示一个小预览。这可以帮助您更轻松地找到所需的图像或视频。

Screenshot showing a preview of an image in Markdown path completions

悬停预览 Markdown 中的图像和视频

想快速预览 Markdown 中的图像或视频,而无需打开完整的Markdown 预览?现在,您可以将鼠标悬停在图像或视频路径上,以查看其小预览

Screenshot showing hovering over an image's path to preview it

改进的 Markdown 标题重命名

您是否知道 VS Code 内置的 Markdown 支持允许您使用 F2 重命名标题?这很有用,因为它还会自动更新指向该标题的所有链接。此次迭代,我们改进了 Markdown 文件中标题重复情况下的重命名处理。

考虑 Markdown 文件

# Readme
- [Example 1](#_example)
- [Example 2](#_example-1)

## Example
...

## Example
...

两个 ## Example 标题具有相同的文本,但可以通过使用唯一的 ID (#example#example-1) 单独链接到它们。以前,如果您将第一个 ## Example 标题重命名为 ## First Example,则 #example 链接将正确更改为 #first-example,但 #example-1 链接不会更改。但是,在重命名后,#example-1 不再是有效链接,因为不再有重复的 ## Example 标题。

我们现在正确处理这种情况。例如,如果您在上面的文档中将第一个 ## Example 标题重命名为 ## First Example,则新文档将是

# Readme
- [Example 1](#_first-example)
- [Example 2](#_example)

## First Example
...

## Example
...

请注意,两个链接现在都已自动更新,因此它们都保持有效!

远程开发

远程开发扩展允许您使用 开发容器、通过 SSH 或 远程隧道连接的远程机器,或 适用于 Linux 的 Windows 子系统 (WSL) 作为功能齐全的开发环境。

亮点包括:

  • 通过 SSH 连接到 WSL

您可以在远程开发发行说明中了解有关这些功能的更多信息。

对扩展的贡献

GitHub Copilot

终端内联聊天

终端内联聊天现在是终端中的默认体验。当终端处于焦点时,使用键盘快捷键 ⌘I (Windows, Linux Ctrl+I) 将其调出。

Screenshot showing opening terminal inline chat opens and focuses an input box similar to inline chat in the editor

终端内联聊天使用 @terminal 聊天参与者,它具有集成终端的 shell 及其内容的上下文。

Screenshot showing that you can ask complex questions like "list the top 5 largest files in the src dir"

建议命令后,使用 ⌘Enter (Windows, Linux Ctrl+Enter) 在终端中运行命令,或使用 ⌥Enter (Windows, Linux Alt+Enter) 将命令插入终端。命令也可以在 Copilot 的响应中直接编辑,然后运行(目前在 Windows 和 Linux 上为 Ctrl+down, Tab, Tab;在 macOS 上为 Cmd+down, Tab, Tab)。

Screenshot showing that complex queries are OS and shell-specific

Copilot 驱动的重命名建议按钮

现在可以通过使用重命名控件中的星形图标来触发 Copilot 驱动的重命名建议。

内容排除

GitHub Copilot 内容排除现在在 Copilot Chat 中支持所有 Copilot for Business 和 Copilot Enterprise 客户。有关配置内容排除的信息,请参阅 GitHub 文档

当文件被内容排除时,Copilot Chat 无法看到文件的内容或路径,并且它不会用于生成 LLM 建议。

Screenshot showing a file which has been excluded in panel chat, displaying a warning about decreased suggestion quality

Screenshot showing a file which has been excluded in inline chat, showing an error that inline chat cannot be used

预览:在笔记本编辑器中生成

我们现在支持在笔记本编辑器中插入新单元格,并自动激活内联聊天。当 notebook.experimental.generate 设置为 true 时,我们在笔记本工具栏和单元格之间的插入工具栏上显示一个生成按钮。当焦点位于笔记本列表或单元格容器上时,也可以通过在 macOS 上按 Cmd+I(或在 Windows/Linux 上按 Ctrl+I)来触发。此功能可以帮助简化在语言模型的帮助下在新单元格中生成代码的过程。

Python

“实现所有继承的抽象类”代码操作

使用 Pylance 时,处理抽象类现在更容易。当定义继承自抽象类的新类时,您现在可以使用实现所有继承的抽象类代码操作来自动实现父类中的所有抽象方法和属性

主题:Catppuccin Macchiato(在 vscode.dev 上预览)

新自动缩进设置

以前,Pylance 的自动缩进行为通过 editor.formatOnType 设置控制,如果您想禁用自动缩进,但启用与其他受支持工具的按类型格式化,这通常会带来问题。为了解决这个问题,Pylance 有自己的设置来控制其自动缩进行为:python.analysis.autoIndent,默认情况下启用。

Screenshot showing Python Analysis Auto Indent setting to control auto indentation with Pylance

Debugpy 从 Python 扩展中移除,转而使用 Python Debugger 扩展

现在调试功能由 Python Debugger 扩展处理,我们已从 Python 扩展中移除了 debugpy。

作为此更改的一部分,您的 launch.json 文件中指定的 "type": "python""type": "debugpy" 都将引用 Python Debugger 扩展的路径,无需更改您的 launch.json 文件即可有效运行和调试。展望未来,我们建议使用 "type": "debugpy",因为它直接对应于 Python Debugger 扩展。

测试期间现在可以禁用套接字

您现在可以从 Python 测试重写的测试 UI 中运行禁用套接字的测试。这是通过 Python 扩展和测试运行子进程之间的通信切换到使用命名管道来实现的。

更新了次要测试错误

测试视图现在可以正确显示使用 unittest 和嵌套类中参数化测试的 testscenarios 项目。此外,测试资源管理器现在可以处理包含符号链接的工作区中的测试,特别是符号链接路径的子级工作区根,这在 WSL 场景中特别有用。

Pylance 的性能改进

Pylance 团队收到了关于 Pylance 在过去几个版本中性能下降的反馈。我们对内存消耗和索引性能进行了一些小的改进,以解决各种报告的问题。但是,对于那些可能仍然遇到 Pylance 性能问题的用户,我们恳请通过命令面板中的Pylance:报告问题命令提交问题,最好附带日志、代码示例和/或工作环境中安装的包。

十六进制编辑器

十六进制编辑器现在除了长期存在的“替换”模式外,还具有“插入”模式。插入模式允许在文件中以及文件末尾添加新字节,并且可以通过使用 Insert 键或从状态栏进行切换。

十六进制编辑器现在还在状态栏中显示当前悬停的字节。

GitHub 拉取请求

GitHub 拉取请求扩展取得了更多进展,该扩展使您能够处理、创建和管理拉取请求和问题。新功能包括:

  • 当隐藏设置 "githubPullRequests.experimentalUpdateBranchWithGitHub": true 启用时,可用于未签出 PR 的实验性冲突解决功能。此功能使您无需在本地签出分支即可解决 PR 中的冲突。该功能仍处于实验阶段,并非在所有情况下都有效。
  • 当从“拉取请求”和“问题”视图触发打开辅助功能帮助时,会显示一个“辅助功能帮助”对话框。
  • 当有足够空间时,所有审查操作按钮都会显示在“活动拉取请求”侧边栏视图中。

查看扩展的 0.88.0 版更新日志以了解其他亮点。

TypeScript

VS Code 核心处理文件监视

一个新的实验性设置 typescript.tsserver.experimental.useVsCodeWatcher 控制 TS 扩展是否使用 VS Code 的核心文件监视支持来满足文件监视需求。TS 广泛使用文件监视,通常使用其自己的基于 node.js 的实现。通过使用 VS Code 的文件监视器,监视应该更高效、更可靠且消耗更少资源。我们计划在 5 月逐步为用户启用此功能并监控回归。

预览功能

PowerShell 的 VS Code 本机智能感知

我们已经有了一段时间的 PowerShell 终端内智能感知原型,最近我们有更多时间投入对其进行完善。它看起来是这样的

目前,它在 - 字符或按下 Ctrl+Space 时触发。要启用此功能,请在 settings.json 文件中设置 "terminal.integrated.shellIntegration.suggestEnabled": true(目前它不会显示在设置 UI 中)。

此功能仍处于早期阶段,但我们很乐意听取您的反馈。我们计划的一些更大的目标是使其触发更可靠(#211222),使建议更一致,无论弹出窗口在哪里触发(#211364),并将体验尽可能接近编辑器智能感知体验(#211076#211194)。

假设您正在编写一些 Markdown 文档,并且您意识到文档的某个部分实际上属于其他地方。于是,您将其复制并粘贴到另一个文件中。一切都好,对吧?但是,如果复制的文本包含任何相对路径链接、引用链接或图像,那么这些链接现在很可能已损坏,您需要手动修复它们。这可能是一个真正的麻烦,但幸运的是,新的“粘贴时更新链接”功能可以提供帮助!

要启用此功能,只需设置 "markdown.experimental.updateLinksOnPaste": true。启用后,当您在当前编辑器中的 Markdown 文件之间复制和粘贴文本时,VS Code 会自动修复所有相对路径链接、引用链接以及所有带有相对路径的图像/视频。

粘贴后,如果您发现您想要插入完全相同的文本,可以使用粘贴控件切换回正常的复制/粘贴行为。

支持 TypeScript 5.5

我们现在支持 TypeScript 5.5 Beta 版。请查看 TypeScript 5.5 Beta 博客文章迭代计划以了解此版本的详细信息。

编辑器亮点包括

  • 正则表达式的语法检查。
  • 文件监视改进。

要开始使用 TypeScript 5.5 Beta 版,请安装 TypeScript Nightly 扩展。请分享反馈,如果您在使用 TypeScript 5.5 时遇到任何错误,请告诉我们。

API

改进了评论输入编辑器中的语言功能支持

在撰写新评论时,VS Code 会创建一个精简的文本编辑器,该编辑器由 TextDocument 提供支持,就像 VS Code 中的主编辑器一样。本次迭代,我们已在这些评论文本编辑器中启用了一些附加的 API 功能。这包括:

  • 支持工作区编辑。
  • 支持诊断。
  • 支持“粘贴为”提议的 API。

评论文本文档可以通过具有 comment 方案的 URI 进行识别。

我们期待看到扩展如何利用这项新功能!

最终确定窗口活动 API

窗口活动 API 已最终确定。此 API 提供了一个简单的附加 WindowState.active 布尔值,扩展可以使用它来确定窗口最近是否发生过交互。

vscode.window.onDidChangeWindowState(e => console.log('Is the user active?', e.active));

提议的 API

视图的辅助功能帮助对话框

可以通过 accessibilityHelpContent 属性为任何扩展贡献的视图添加辅助功能帮助对话框。当视图处于焦点时,屏幕阅读器用户会听到打开对话框的提示 (⌥F1 (Windows Alt+F1, Linux Shift+Alt+F1)),其中包含概述和有用的命令。

此 API 由 GitHub 拉取请求扩展的“问题”和“PR”视图使用。

语言模型和聊天 API

语言模型命名空间 (vscode.lm) 导出新函数以检索语言模型信息并计算给定字符串的令牌。它们分别是 getLanguageModelInformationcomputeTokenLength。您应该使用这些函数来构建在语言模型限制范围内的提示。

注意:内联聊天现在由即将推出的聊天参与者 API 提供支持。这也意味着 registerInteractiveEditorSessionProvider 已弃用,并将很快移除。

更新的文档粘贴提案

我们继续迭代文档粘贴提议 API。此 API 使扩展能够挂钩到文本文档中的复制/粘贴操作。

API 的显著变化包括:

  • 一个新的 resolveDocumentPasteEdit 方法,用于在粘贴操作时填充编辑。如果计算编辑需要很长时间,则应使用此方法,因为它仅在实际需要应用粘贴编辑时才调用。

  • 所有粘贴操作现在都由 DocumentDropOrPasteEditKind 标识。这与现有的 CodeActionKind 非常相似,并用于粘贴操作的键绑定和设置。

文档粘贴扩展示例包含所有最新的 API 更改,因此您可以测试 API。请务必分享对更改和整体 API 设计的反馈。

悬停详细程度

本次迭代我们添加了一个新的提案 API 来折叠/展开悬停,名为 editorHoverVerbosityLevel。它引入了一个名为 VerboseHover 的新类型,该类型有两个布尔字段:canIncreaseHoverVerbositycanDecreaseHoverVerbosity,它们指示悬停详细程度是否可以增加或减少。如果其中一个设置为 true,则悬停将显示 +- 图标,可用于增加/减少悬停详细程度。

拟议的 API 还引入了 provideHover 方法的新签名,该方法采用类型为 HoverContext 的附加参数。当用户发送悬停详细程度请求时,悬停上下文将填充先前的悬停以及 HoverVerbosityAction,该操作指示用户希望增加还是减少详细程度。

扩展触发的测试运行上的 preserveFocus

有一个提案,用于扩展触发的测试运行请求上的 preserveFocus 布尔值。以前,从扩展 API 触发的测试运行从不导致焦点移动到测试结果视图,需要一些扩展重新发明轮子以保持用户体验兼容性。此新选项可以在 TestRunRequest 上设置,以请求编辑器移动焦点,就像从编辑器内部触发运行一样。

值得注意的修复

  • 209917 辅助窗口:恢复最大化状态 (Linux, Windows)

感谢

最后但同样重要的是,向 VS Code 的贡献者们致以衷心的感谢

问题跟踪

对我们问题跟踪的贡献

拉取请求

vscode 的贡献

vscode-css-languageservice 的贡献

vscode-emmet-helper 的贡献

vscode-eslint 的贡献

vscode-hexeditor 的贡献

vscode-json-languageservice 的贡献

vscode-languageserver-node 的贡献

vscode-python-debugger 的贡献

vscode-vsce 的贡献

language-server-protocol 的贡献

monaco-editor 的贡献