在 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 上的更新Insiders:想尽快尝试新功能吗?您可以下载每晚的 Insiders 构建版本,并在新功能可用时立即尝试最新的更新。

辅助功能

通过键盘调整表格列大小

新命令 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 不会为打开空窗口(未打开文件夹或工作区)时保存聊天会话。现在,这些会话会按预期保存,并且可以通过“**显示聊天**”按钮加载空窗口中的以前聊天记录。

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

在快速聊天中附加上下文

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

点踩反馈详情

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

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 聊天自动将您的问题路由到合适的参与者或聊天命令。

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 和包类型

Web 版 VS Code 上使用 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.

包类型和完整项目 IntelliSense 支持 Chrome、Microsoft Edge 和 Firefox。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 主题键配置其颜色。

笔记本

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

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

在差异视图中管理空白

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

笔记本执行计数粘滞滚动

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

任务

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

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

调试

跳转到变量定义

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

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

查找控件

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

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

启动配置输入缓存

启动配置和任务中使用的输入变量现在会保留其上次输入的值,以简化重新运行依赖于它们的调试会话的过程。仅当输入上没有明确定义 default 时,才会执行此操作。

JavaScript 调试器

实验性网络视图

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

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

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

注意: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 Repositories 扩展浏览 GitHub 存储库时,现在会遵守 git.openDiffOnClick 设置。

Open diff by selecting Open Changes for changed resources.

对扩展的贡献

Python

Django 单元测试支持

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

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

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

原生 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 拉取请求 扩展取得了更多进展,它使您能够处理、创建和管理拉取请求和问题。查看扩展 0.96.0 版本的更新日志以了解亮点。

扩展创作

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

我们正在将 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 提供程序已经采用了此功能。

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

调试适配器协议

我们在 调试适配器协议中的 Variables 和其他数据类型中添加了 locationReferences,以支持关联源代码位置。

VS Code 中的 WebAssembly

wasm-wasi-core 扩展的 1.0 版本以及 @vscode-wasm-wasi@vscode/wasm-component-model npm 模块已发布。使用示例可以在 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 更新发布。用户可能需要等待很长时间才能获得这些修复。

此版本中,我们有一个实验性设置,它将 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 扩展

新的问题报告器实现

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

新版本的问题报告器默认启用,可以在桌面版 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.json 中为 chatParticipants 贡献添加元数据来启用自动检测您的参与者和命令。我们已经使用示例更新了 vscode-extension-samples 仓库,演示了如何采用此 API。测试时,请务必设置 chat.experimental.detectParticipant.enabled。请注意,这是一个提议的 API,可能会发生变化。

网站

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

工程

VS Code 使用 ESM 的进展

在此里程碑期间,我们完成了将 ESM 用于 VS Code 核心的大部分工作。我们的目标是使用 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 的贡献