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

2024 年 8 月 (1.93 版)

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

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


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

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

辅助功能

通过键盘调整表列大小

一个新命令 list.resizeColumn 使您能够使用键盘调整列大小。当您触发此命令时,选择要调整大小的列并提供要设置的宽度百分比。以下视频展示了如何将其应用于调整键盘快捷方式编辑器中的列大小。

屏幕阅读器支持合成聊天响应

我们已更新accessibility.voice.autoSynthesize设置,以允许屏幕阅读器用户选择收听我们合成器宣布的聊天响应,而不是获取 aria 警报。

调试改进

当您在编辑器中进行调试时,调用调试:添加到监视命令现在会为屏幕阅读器用户宣布变量的值。

此外,调试辅助功能帮助对话框也得到了改进,以提高全面性。

工作台

新配置文件编辑器

新的配置文件编辑器现在在 Visual Studio Code 中普遍可用。新的配置文件编辑器使您能够从一个地方管理配置文件。此体验包括创建新配置文件、编辑和删除现有配置文件以及导入和导出配置文件以与他人共享。有关更多信息,请参阅配置文件文档

Screenshot that shows the Profiles editor.

Linux 对窗口控制叠加层的支持

一个新设置window.experimentalControlOverlay允许显示原生窗口控件,即使通过window.titleBarStyle设置启用了自定义标题栏。

Screenshot of VS Code on Linux, highlighting the Linux window control overlays in the top-right corner.

开箱即用,我们尚未在 Linux 上默认启用自定义标题,但我们计划最终这样做。一旦您打开自定义标题,原生窗口控制叠加层将自动出现。我们欢迎您在使用此新功能时发现的任何反馈!

评论排序

评论现在可以按它们在文件中的位置或按日期排序。

Screenshot that shows the additional comment sorting options.

从设置编辑器复制设置 URL

您可以从设置编辑器复制特定设置的直接 URL。当您导航到设置 URL 时,它会打开 VS Code 并在设置编辑器中聚焦相应的设置。

Video that shows how to copy a setting URL in the Settings editor.

资源管理器中的反向排序

我们添加了一个额外的排序选项,explorer.sortOrderReverse,它使您能够反转各种资源管理器排序配置中的任何一个,从而提供进一步的排序灵活性。

编辑器

灯泡改进

在上一个里程碑中,我们改进了代码操作灯泡图标的显示位置。我们现在已决定默认将editor.lightbulb.enabled设置为onCode。这意味着灯泡图标仅当光标位于源代码行上时才会显示,并且显示频率会降低。

动作列表的颜色主题

动作列表控件(例如代码操作菜单)的颜色可以通过主题使用editorActionList.backgroundeditorActionList.foregroundeditorActionList.focusForegroundeditorActionList.focusBackground键进行配置。默认情况下,动作列表控件主题与快速选择和命令面板的主题匹配。获取有关自定义颜色主题的更多信息。

GitHub Copilot

在此里程碑中,我们继续改进了 VS Code 中的 GitHub Copilot 体验,包括编辑器、聊天视图和内联聊天。我们还添加了一些实验性功能供您试用,并希望获得您的反馈。

改进的测试生成

借助 GitHub Copilot,您可以通过使用编辑器内容菜单中的使用 Copilot 生成测试操作或在内联聊天中使用/tests斜杠命令来生成代码的测试。

我们改进了测试生成流程,方法是查找现有测试文件并将新测试生成到该文件中,将其附加到末尾。如果尚无测试文件,Copilot 会为生成的测试创建新的测试文件。

重命名用于生成测试和文档的代码操作

当您将光标放在标识符(例如方法名称)上时,GitHub Copilot 会为您提供代码操作以生成测试或文档。为了更好地反映其目的,我们将这些代码操作重命名为使用 Copilot 生成测试使用 Copilot 生成文档。以前,它们被称为使用 Copilot 测试使用 Copilot 文档

New code action names for test and documentation generation

改进的聊天历史记录

您可以通过聊天视图顶部的显示聊天按钮从聊天历史记录中打开以前的聊天会话。这些会话现在具有更友好的、AI 生成的名称。您还可以通过选择每行上的铅笔图标手动重命名会话。

这些聊天历史记录条目现在也按其上次请求的日期排序,并按日期段标记和分组。

The chat history picker shows friendly session names and entries are grouped by age.

注意:只有新的聊天会话才会获得 AI 生成的名称,您已有的任何聊天会话都不会被重命名。

保存空窗口的聊天会话

以前,VS Code 不会保存空窗口(未打开文件夹或工作区)的聊天会话。现在,这些会话会按预期保存,并且可以通过显示聊天按钮加载空窗口中的以前聊天。

注意:您应避免同时在多个空窗口中打开和使用相同的聊天会话。

在快速聊天中附加上下文

使用快速聊天时,您现在可以使用附加上下文操作将文件和符号等上下文附加到 Copilot 请求中。

“踩”反馈详情

您是否收到 Copilot Chat 的响应,但与您的预期不符?通过选择聊天响应工具栏上的按钮来帮助我们。现在,它会显示一个下拉菜单,其中包含一些详细选项供您描述问题。您也可以从此菜单中打开问题报告器。

The chat response feedback dropdown, showing extra details on the thumbs down button.

代码生成说明(实验性)

设置github.copilot.chat.experimental.codeGeneration.instructions

Copilot 可以帮助您生成代码,例如作为重构的一部分、生成单元测试或实现功能。您可能希望使用特定的库,或者希望 Copilot 生成的代码遵循特定的编码风格。

实验性设置github.copilot.chat.experimental.codeGeneration.instructions允许您定义一组指令,这些指令将添加到每个生成代码的 Copilot 请求中。

这些指令可以在用户或工作区设置中定义,也可以从文件中导入。

以下代码片段展示了如何从设置和外部文件定义一组指令

  "github.copilot.chat.experimental.codeGeneration.instructions": [
    {
      "text": "Always add a comment: 'Generated by Copilot'."
    },
    {
      "text": "In TypeScript always use underscore for private field names."
    },
    {
      "file": "code-style.md" // import instructions from file `code-style.md`
    }
  ],

myProject/code-style.md 的内容

Always use React functional components.
Always add comments.

在屏幕截图中,您可以在引用部分看到指令已被使用

Copilot Chat using code generation instructions.

聊天视图中的自动聊天参与者检测(实验性)

设置chat.experimental.detectParticipant.enabled

GitHub Copilot 有几个内置的聊天参与者,例如@workspace,它们也向聊天视图贡献命令。以前,您必须在聊天提示中显式指定聊天参与者和命令。

为了更容易地使用自然语言与聊天参与者交互,在接下来的几周内,我们正在试验启用 Copilot Chat 自动将您的问题路由到合适的参与者或聊天命令。

Screenshot of Chat view that shows how the '@workspace' participant is automatically detected.

如果自动选择的参与者不适合您的问题,您可以选择聊天响应顶部的不使用此参与者重新运行链接,将您的问题重新发送给 Copilot。

使用最近的编码文件作为内联聊天上下文(实验性)

设置github.copilot.chat.experimental.temporalContext.enabled

通常,当您提示 Copilot 时,您会提出与您刚刚正在处理或查看的代码相关的问题。内联聊天现在可以使用最近查看或编辑的代码作为上下文,以提供更相关的建议。

此功能仍处于实验阶段,但也很适合所有人测试。

使用当前编辑器行作为内联聊天提示(实验性)

设置github.copilot.config.experimental.inlineChatCompletionTrigger.enabled

现在,您无需先打开内联聊天然后输入聊天提示,而是可以直接在编辑器中开始输入,并直接将当前行的内容用作内联聊天的提示。为了获得更流畅的聊天体验,Copilot 可以检测您何时正在提示而不是编写代码,然后自动为您启动内联聊天。

您可以使用当前行作为内联聊天提示的不同方式如下

  • 命令面板 (⇧⌘P (Windows, Linux Ctrl+Shift+P)) 输入内联聊天:从当前行开始在编辑器中
  • inlineChat.startWithCurrentLine命令配置键盘绑定,并将其与inlineChatExpansion上下文键结合使用
  • 启用github.copilot.config.experimental.inlineChatCompletionTrigger.enabled设置,以便 Copilot 检测当前行主要是文本而不是源代码,然后启动内联聊天。

以下视频展示了 Copilot 如何在检测到当前行主要是文本后建议启动内联聊天。

从聊天开始调试(实验性)

设置github.copilot.advanced.startDebugging.experimental.enabled

@vscode聊天参与者上有一个新的实验性斜杠命令/startDebugging。此命令使您能够创建启动配置并开始调试您的应用程序。

您还可以通过“创建 launch.json 快速选择”中的“使用 GitHub Copilot 生成调试配置”选项访问此命令。

Generate Debug Configuration with GitHub Copilot is an option in the Create a launch.json file Quick Pick.

根据测试覆盖率生成测试(实验性)

设置github.copilot.chat.experimental.generateTests.codeLens

如果测试覆盖率信息可用,GitHub Copilot 可以为尚未被测试覆盖的函数和方法提供 CodeLens 使用 Copilot 生成测试

语言

将“SQL”重命名为“MS SQL”

SQL 文件的语言名称已从“SQL”重命名为“MS SQL”,以更好地反映该语言对 Microsoft SQL Server (T-SQL) 语法的侧重。此语言模式的文件扩展名仍然是.sql,语法高亮保持不变。

vscode.dev 上的完整项目 IntelliSense 和包类型定义

VS Code for the Web上使用 JavaScript 和 TypeScript 变得更好了。首先,我们实现了包 IntelliSense,因此您可以从任何导入的包(例如react)中看到建议和文档。这与 VS Code 桌面版中的工作方式非常相似。

IntelliSense and error reporting for an imported package on vscode.dev.

在 TypeScript 文件中,我们为package.json中列出的包提供 IntelliSense。JavaScript 文件稍微灵活一些,使用自动类型获取,它为当前文件中导入的任何包提供 IntelliSense,即使它未列在package.json中。

由于包 IntelliSense,我们还为 JavaScript 和 TypeScript 项目启用了完整的项目 IntelliSense。这大大改进了代码导航,让您能够正确地转到定义查找所有引用项目中的任何符号。它还支持类型错误报告。我们现在甚至在编写代码时支持自动导入。

Finding all references of a symbol in a TypeScript project.

Chrome、Microsoft Edge 和 Firefox 都支持包类型定义和完整项目 IntelliSense。Safari 尚未支持,因为它未实现ReadableByteStreamController

源代码管理

源代码管理图视图

根据用户反馈,我们将上个里程碑启用的历史图从源代码管理视图移到了一个名为源代码管理图的新视图中。这减少了主视图的信息过载,并允许您根据需要隐藏/折叠/移动新视图。这也为功能齐全的历史图奠定了基础。

源代码管理图视图目前显示当前分支的远程/基础。在下一个里程碑中,我们正在努力添加将图过滤到任何存储库引用并改进多存储库工作区体验的功能。

Source Control Graph view showing a graph visualization of the repository.

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

支持 reftable 格式

Git 2.45 添加了对名为“reftable”的新引用存储后端的初步支持。此里程碑,我们更新了内置的 Git 扩展以支持此新的引用存储后端。

使用 Git 2.45,您可以使用--ref-format=reftable标志创建或克隆使用新引用存储后端的存储库。Git 2.46 还添加了使用git refs migrate命令将现有存储库迁移到使用新引用存储格式的支持。

请注意,新的引用存储后端仍被视为实验性。

紧凑型文件夹设置

得益于社区贡献,我们添加了一个新设置scm.compactFolders,用于控制在源代码管理视图中以树形形式查看更改时,文件夹是否以紧凑形式呈现。

终端

Julia 和 NuShell 支持

现在支持 Julia 和 NuShell 的 Shell 集成。这为这些 Shell 类型启用了命令修饰运行最近命令等功能。

移动多个终端选项卡

您现在可以多选终端选项卡,并将它们作为有序组在终端列表中移动。

命令指南设置和颜色主题

命令指南是命令及其输出旁边悬停时出现的一个条。您现在可以通过terminal.integrated.shellIntegration.showCommandGuide设置禁用命令指南,颜色可以通过主题使用terminalCommandGuide.foreground主题键进行配置。

Notebook

在差异视图中显示或隐藏未更改的单元格

笔记本差异视图现在会隐藏未更改的单元格,这使您可以专注于已更改的单元格。同时,所有未更改单元格的输入始终折叠。

管理差异视图中的空白

笔记本差异视图现在遵守以下设置

笔记本执行计数的粘性滚动

当向下滚动代码单元格时,代码单元格的执行计数现在会粘在屏幕底部。这使得在长代码单元格中工作时更容易查看执行状态和更新。

任务

进程退出时保持任务终端打开

如果任务的终端进程以非零代码退出,我们现在会保持终端打开以方便调试。

调试

跳转到变量定义

调试扩展现在可以将变量和表达式链接到代码中的位置。在变量视图、监视视图和调试控制台中,带有此链接的数据可以按Ctrl选择(macOS 上为Cmd选择)。

内置的 JavaScript 调试器将链接代码中定义的函数的位置,其他调试扩展需要采用相应的协议更改才能启用此功能。

查找控件

您现在可以在调试控制台 (⌥⌘F (Windows, Linux Ctrl+Alt+F)) 中打开查找控件,以搜索输入中的结果。未来里程碑将研究对输出中搜索结果的支持。

您还可以通过调试控制台工具栏中过滤器控件右侧的动作Debug Console: Focus Find访问该控件。

启动配置输入缓存

启动配置和任务中使用的输入变量现在会持久保存其上次输入的值,以简化重新运行依赖于它们的调试会话的过程。仅当输入上没有显式default定义时才会这样做。

JavaScript 调试器

实验性网络视图

JavaScript 调试器现在包含一个基本的实验性网络视图,当debug.javascript.enableNetworkView设置打开时可用。该视图显示浏览器会话发出的请求和响应的信息。

显示 JavaScript 调试器网络视图的屏幕截图。 主题:Codesong(在vscode.dev上预览)

当进程在参数中启动时,网络视图也适用于 Node.js 22.6.0 及更高版本,例如通过将"runtimeArgs": ["--experimental-network-inspection"]添加到node启动配置中,启动时附带--experimental-network-inspection

注意:Node 的网络实现仍处于早期阶段,大多数有关请求和响应的数据尚不可用。

测试

支持消息上的堆栈跟踪

测试扩展现在可以将堆栈跟踪与测试失败关联起来。当它们这样做时,您将在测试结果视图和错误预览中看到调用堆栈的每个帧周围的代码。您可以在视图中Ctrl选择(macOS 上为Cmd选择)代码以转到其原始位置,或使用其标题上的转到文件操作。

编辑器显示测试失败消息和导致失败的相应调用堆栈。 主题:Codesong(在vscode.dev上预览)

安装程序

Debian 软件包现在会提示您确认是否要添加 packages.microsoft.com 存储库。这使您可以在之后使用 apt 更新软件包。

Terminal showing the prompt for adding the Microsoft packages repo during the install.

远程开发

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

亮点包括:

  • 开发容器模板的可选路径
  • 通过 SSH 扩展了对远程操作系统的兼容性

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

Web 版 VS Code

https://vscode.dev上或在桌面版上使用GitHub 存储库扩展浏览 GitHub 存储库时,现在会遵守git.openDiffOnClick设置。

Open diff by selecting Open Changes for changed resources.

对扩展的贡献

Python

Django 单元测试支持

我们很高兴地宣布支持我们最受请求的功能之一:您现在可以通过测试资源管理器发现并运行 Django 单元测试!有关如何启用此功能的设置说明,请查看我们的文档

在测试资源管理器中发现并运行的 Django 单元测试。 主题:Catppuccin Macchiato(在vscode.dev上预览)

当您探索此新添加的功能时,请在我们的vscode-python 仓库中或使用Python:报告问题命令提供反馈并报告任何问题。

原生 REPL 改进

我们对新的原生 REPL 体验进行了更多改进和错误修复。我们正在将原生 REPL 作为智能发送的默认目标进行实验性推广,但如果您有兴趣尝试此功能,您可以在用户settings.json中设置python.REPL.sendToNativeREPL并重新加载您的 VS Code 窗口。

使用 Pylance 从内嵌提示转到定义

当 Pylance 启用内嵌提示时,您现在可以通过将鼠标悬停在类型上并按住 Ctrl (macOS 上为 Cmd) 并单击来更方便地导航到类型的定义。

Go to Definition supported by using Ctrl/Cmd + click when hovering over a Python type on an inlay hint.

调试测试时支持重启

您现在可以通过调试工具栏控件在调试测试时重启调试器。

GitHub 拉取请求和议题

GitHub Pull Requests 扩展取得了更多进展,该扩展使您能够处理、创建和管理拉取请求和问题。请查看该扩展 0.96.0 版本的更新日志以了解亮点。

扩展创作

EcmaScript 模块 (ESM) 加载对 VS Code 的影响

我们正在将 VS Code 核心的代码加载方式从 AMD/CommonJS 更改为 ESM。扩展将继续以 CommonJS 方式加载,但此更改会带来对require方法的更改:具体来说,从我们的1.94版本开始,require.main将是undefined。如果您有从安装中访问文件的用例,请考虑改用vscode.env.appRoot联系我们

终端 Shell 集成 API

终端 Shell 集成 API 现已可用。这个强大的 API 使扩展能够监听在终端中运行的命令,读取它们的原始输出、退出代码和命令行。

window.onDidEndTerminalShellExecution(event => {
  if (event.execution.commandLine.value.startsWith('git')) {
    if (event.exitCode === 0) {
      // React to a successful git command
    } else {
      // React to a failing git command
    }
  }
});

它还提供了一种更可靠的执行命令的方式,它会在提示开始之前等待发送命令,防止命令额外一次回显到终端。

const commandLine = 'echo "Hello world"';
if (term.shellIntegration) {
  const execution = shellIntegration.executeCommand({ commandLine });
  window.onDidEndTerminalShellExecution(event => {
    if (event.execution === execution) {
      console.log(`Command exited with code ${event.exitCode}`);
    }
  });
} else {
  term.sendText(commandLine);
  // Without shell integration, we can't know when the command has finished or what the
  // exit code was.
}

有关更多信息,请参阅vscode.d.ts中的 API 和扩展示例

身份验证帐户 API

身份验证 API 现在在处理多个帐户时具有更多控制权。一直缺少的功能是获取所有帐户并获取特定帐户的AuthenticationSession。现在通过getAccounts API 的最终确定,这成为可能。

希望使用身份验证会话的扩展作者可以运行以下代码以获取用户已登录的帐户的AuthenticationSessionAccountInformation

const accounts = vscode.authentication.getAccounts('microsoft');

从那里,您可以使用这些帐户专门为这些帐户创建会话

const session = vscode.authentication.getSession('microsoft', scopes, {
  account: accounts[0]
});

注意:为此,身份验证提供程序需要处理传递给getSessionscreateSession的参数。内置的 GitHub 和 Microsoft 提供程序已经采用了这一点。

我们相信这是处理多个身份验证会话以及处理以前无法支持的各种场景的最清晰方式。

调试适配器协议

我们在调试适配器协议中为变量和其他数据类型添加了locationReferences,以允许关联源位置。

VS Code 中的 WebAssemblies

wasm-wasi-core扩展的 1.0 版本以及@vscode-wasm-wasi@vscode/wasm-component-modelnpm 模块已发布。用法示例可以在vscode-extension-samples存储库的wasm-*子文件夹中找到。在VS Code 博客上也有几篇关于如何在 VS Code 扩展中使用 WebAssembly 代码的文章。

预览功能

终端 IntelliSense 改进

此版本中,实验性 PowerShell IntelliSense 获得了以下改进

  • git checkout现在包含-的补全,以切换到上一个分支。
  • terminal.integrated.suggest.runOnEnter的默认值现在设置为忽略,这意味着Enter根本不与 IntelliSense 交互。这是来自用户的反馈,他们发现对肌肉记忆的影响太大。
  • PowerShell 关键字现在可作为命令(而非参数)的补全。
  • cd的第一个目录建议现在始终是其自身,这使得当terminal.integrated.suggest.runOnEnter设置为启用时,事情变得更流畅。cd 到 docs 将 docs 作为顶部结果显示。
  • 现在,在命令行上不同位置请求建议时,建议更加一致。
  • 在导航回目录时,会为<path>/../提供补全。cd ..\ 将给出 ..\..\ 的建议。

Conpty 在产品中发布

Conpty 是终端的后端,它模拟伪终端在其他操作系统上的工作方式。此组件在 Windows 本身中提供,这意味着错误修复通过 Windows Update 发布。用户可能需要很长时间才能收到这些修复。

在此版本中,我们有一个实验性设置,它将 conpty 与 VS Code 本身捆绑在一起,类似于 Windows 终端的做法。这意味着用户可以在我们发布 VS Code 更新时获得错误修复,而不必等待 Windows 更新。

要启用此功能,请将以下设置设置为true

"terminal.integrated.experimental.windowsUseConptyDll": true

您应该期待启用此功能后,会带来以下改进

  • 更好的性能
  • 更可靠的 Shell 集成
  • 更多转义序列支持(例如,很快 Windows 将支持sixel

目前唯一已知的问题是,有些用户有一个进程一直存在并阻止 VS Code 更新(microsoft/vscode#225719),这需要手动终止进程才能启用更新。

TypeScript 5.6 支持

我们继续改进了对即将发布的 TypeScript 5.6 版本的支持。有关此版本包含内容的详细信息,请查看TypeScript 5.6 RC 博客文章

要开始使用 TypeScript 5.6 的预览版,请安装TypeScript Nightly 扩展

新问题报告器实现

在此里程碑中,我们正在尝试新的问题报告器实现。功能保持不变,但应该有一些改进,例如改进了多显示器支持,以及在 VS Code for Web 中提供问题报告器。

新版本的问题报告器默认启用,可以在 VS Code 桌面版中使用issueReporter.experimental.auxWindow设置进行配置。

提议的 API

语言模型工具

我们继续迭代我们的LanguageModelTool API。该 API 主要包含两个部分

  1. 扩展注册工具的能力。工具是旨在供语言模型使用的一段功能。例如,读取文件的 Git 历史记录。

  2. 语言模型支持工具的机制,例如扩展在发出请求时传递工具、语言模型请求工具调用以及扩展传回工具调用结果。

本月添加的更改之一是用户可以手动将某些工具附加到其聊天请求。例如,一个工具可以计算用户希望在其请求中使用的某些动态上下文。

提案可在vscode.proposed.lmTools.d.ts中找到。请查看tool-user示例扩展,其中演示了如何注册和调用工具。

请关注问题 #213274 以获取更新或向我们提供反馈。

注意:API 仍在积极开发中,内容可能会发生变化。

测试增强

将代码与测试关联

我们正在开发一个 API,使扩展能够将代码与测试关联起来,反之亦然。这允许用户在两者之间跳转,并启用诸如在光标处运行测试之类的操作,使其也能在实现代码中工作。我们预计随着 API 的发展,将构建更多的体验。

查看vscode#126932以获取更多信息和更新。

可归因测试覆盖率

我们正在开发一个 API,用于按测试归因测试覆盖率。这使用户能够查看哪些测试运行了哪些代码,过滤编辑器中显示的覆盖率以及测试覆盖率视图中的覆盖率。

查看vscode#212196以获取更多信息和更新。

聊天参与者检测 API

如果您正在编写一个为聊天视图贡献参与者或聊天命令的扩展,您可以通过在package.jsonchatParticipants贡献中添加元数据来使您的参与者和命令自动检测。我们已使用示例更新了vscode-extension-samples仓库,演示了如何采用此 API。在测试时,请务必设置chat.experimental.detectParticipant.enabled。请注意,这是一个正在提议的 API,可能会发生变化。

网站

我们已修复VS Code API页面下的几个链接。泛型类型和函数的链接再次有效,原始类型和值不再格式化为链接!

工程

VS Code 使用 ESM 的进展

在此里程碑期间,我们完成了将 ESM 用于 VS Code Core 的大部分工作。我们的目标是使用 ECMAScript 模块 (ESM) 加载并完全放弃 AMD。我们将在 9 月开始发布支持 ESM 的 Insider 构建版本,并计划在 10 月的下一次发布中将 ESM 发布到稳定版。

我们发布 ESM 的计划已记录在 https://github.com/microsoft/vscode/issues/226260 中。

值得注意的修复

感谢

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

问题跟踪

对我们问题跟踪的贡献

拉取请求

vscode 的贡献

vscode-css-languageservice 的贡献

vscode-eslint 的贡献

vscode-flake8的贡献

vscode-generator-code 的贡献

vscode-hexeditor 的贡献

vscode-isort的贡献

vscode-js-profile-visualizer的贡献

vscode-json-languageservice 的贡献

vscode-languageserver-node 的贡献

vscode-loader 的贡献

vscode-mypy 的贡献

vscode-pull-request-github 的贡献

vscode-python-debugger 的贡献

vscode-vsce 的贡献

language-server-protocol 的贡献

python-environment-tools 的贡献