2024 年 4 月 (版本 1.89)

更新 1.89.1:此更新修复了这些问题

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


欢迎阅读 2024 年 4 月发布的 Visual Studio Code。此版本中有许多我们希望你会喜欢的更新,一些主要亮点包括:

如果您想在线阅读这些发行说明,请访问 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)) 中使用 Search: Quick Search 命令!✨🔍

主题: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

Python 扩展中移除 debugpy,由 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: Report Issue 命令提交问题,最好附带日志、代码示例和/或工作环境中安装的包。

十六进制编辑器

十六进制编辑器现在除了长久以来的“替换”模式外,还新增了插入模式。插入模式允许在文件内部和末尾添加新字节,可以使用 Insert 键或从状态栏进行切换。

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

GitHub 拉取请求

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

  • 通过隐藏设置 "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 功能。这包括

  • 支持工作区编辑。
  • 支持诊断。
  • 支持 paste-as 提议的 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 Pull Request 扩展的问题和 PR 视图所使用。

语言模型和聊天 API

语言模型命名空间 (vscode.lm) 导出了用于检索语言模型信息和计算给定字符串 token 数量的新函数。它们分别是 getLanguageModelInformationcomputeTokenLength。你应该使用这些函数来构建处于语言模型限制范围内的提示词。

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

更新的文档粘贴提案

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

API 的显著更改包括

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

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

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

悬停详细程度级别

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

提议的 API 还为 provideHover 方法引入了一个新签名,该方法接受一个 HoverContext 类型的附加参数。当用户发送悬停详细程度请求时,悬停上下文将填充之前的悬停内容,以及一个 HoverVerbosityAction,指示用户是否希望增加或减少详细程度。

扩展触发的 TestRuns 上的 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 的贡献

© . This site is unofficial and not affiliated with Microsoft.