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

2025 年 7 月 (版本 1.103)

发布日期:2025 年 8 月 7 日

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


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


如果您想在线阅读这些发行说明,请访问 code.visualstudio.com 上的更新页面。

Insiders: 想尽快尝试新功能吗?
您可以下载每晚的 Insiders 版本,并尽快试用最新的更新。
下载 Insiders

聊天

GPT 5 可用性

从今天起,GPT-5 将面向所有付费的 GitHub Copilot 计划推出。GPT-5 是 OpenAI 迄今为止功能最强大的模型,在推理、编码和聊天方面带来了新的进步。在 GitHub 更新日志 中了解有关 GPT-5 模型可用性的更多信息。

打开聊天视图并从模型选择器中选择 GPT-5,即可开始在 VS Code 中使用它进行聊天对话。

了解有关 在 VS Code 中使用语言模型 的更多信息。

聊天检查点

设置chat.checkpoints.enabled

我们引入了检查点,使您能够恢复聊天对话的不同状态。您可以轻松地恢复编辑并返回到聊天对话中的特定点。如果在一个聊天会话中更改了多个文件,这会特别有用。

当您选择一个检查点时,VS Code 会将工作区更改和聊天历史记录恢复到该点。恢复检查点后,您还可以重做该操作!

检查点将默认启用,并可通过 chat.checkpoints.enabled 进行控制。

工具选择器改进

在本次迭代中,我们彻底改进了工具选择器,并采用了名为 Quick Tree 的新组件来显示所有工具。

Screenshot showing the new tool picker using a quick tree, enabling collapsing and expanding nodes.

显著功能

  • 展开或折叠
  • 配置选项已移至标题栏
  • 粘性滚动
  • 图标渲染

请告诉我们您的想法!

工具分组(实验性)

设置github.copilot.chat.virtualTools.threshold

目前,单个聊天请求可使用的最大工具数量为 128。以前,通过安装带有许多工具的 MCP 服务器,您可以快速达到此限制,从而需要您取消选择一些工具才能继续。

在此版本的 VS Code 中,我们启用了一种实验性的工具调用模式,用于当工具数量超过最大限制时。工具会自动分组,并且模型能够激活和调用工具组。

此行为(包括阈值)可通过设置 github.copilot.chat.virtualTools.threshold 进行配置。

终端自动批准改进

设置chat.tools.terminal.autoApprove

上个月引入了早期的终端自动批准设置。此版本中,该功能获得了许多改进。在我们的文档中了解有关 终端自动批准 的更多信息。

  • 我们已将 allowListdenyList 设置合并到 chat.tools.terminal.autoApprove 设置中。如果您使用旧设置,您应该会看到一条警告,要求您迁移到新设置。

  • 正则表达式匹配器现在支持标志。这允许不区分大小写,例如在 PowerShell 中,通常不区分大小写。

    "chat.tools.terminal.autoApprove": {
      // Deny any `Remove-Item` command, regardless of case
      "/^Remove-Item\\b/i": false
    }
    
  • 子命令匹配的工作方式存在一些混淆,现在在设置的描述中详细解释了这一点,但我们也支持针对完整命令行进行匹配。

    "chat.tools.terminal.autoApprove": {
      // Deny any _command line_ containing a reference to what is likely a PowerShell script
      "/\\.ps1\\b/i": { approve: false, matchCommandLine: true }
    }
    
  • 自动批准的原因现在已记录到终端输出通道。我们计划 很快在 UI 中显示此内容

  • 目前,自动批准将仅在用户或远程设置中允许。我们计划在即将发布的版本中再次允许在工作区设置中使用它们。

使用任务列表跟踪进度(实验性)

设置chat.todoListTool.enabled

代理模式的优点在于您可以给它一个高级任务并让它实现。当它规划工作并将其分解为更小的任务时,跟踪所有这些单个任务的进度可能会让人不知所措。

在此里程碑中,我们引入了聊天中的任务/待办事项列表功能,以更好地帮助您查看哪些任务已完成,哪些任务仍在进行中。您可以在聊天视图的顶部查看任务列表,这样您就可以随时了解正在进行的进度。当代理完成其工作时,它会更新任务列表。

首先给代理一个高级任务,并要求它在待办事项列表中跟踪其工作!

此功能仍处于实验阶段,您可以使用 chat.todoListTool.enabled 设置启用它。

改进的模型管理体验

在此迭代中,我们改进了负责语言模型访问的聊天提供程序 API。用户现在能够选择在模型选择器中显示哪些模型,从而创建更个性化和集中的体验。

Screenshot of the model picker showing various models from providers such as Copilot and OpenRouter

我们计划在未来几个月内完成此新 API 的开发,并欢迎任何反馈。此 API 的最终确定将为扩展生态系统提供实现自己的模型提供程序并进一步扩展“自带密钥”产品的机会。

Azure DevOps 仓库远程索引支持

#codebase 工具 现在支持链接到 Azure DevOps 仓库的工作区的远程索引。这使得 #codebase 能够几乎即时搜索相关代码片段,无需任何初始化。即使对于包含数万个可索引文件的大型仓库,这也同样有效。以前,此功能仅适用于 GitHub 链接的仓库。

当在通过 git 链接到 Azure DevOps 的工作区中工作时,远程索引会自动使用。确保您还使用用于访问 Azure DevOps 仓库的 Microsoft 帐户登录到 VS Code。

我们正在逐步推出此功能的服务端支持,因此并非每个组织都能立即使用它。根据推出的成功情况,我们希望尽可能多的组织启用 Azure DevOps 的远程索引。

终端运行和任务工具的可靠性和性能改进

我们已将用于在终端中运行任务和命令的工具从 Copilot 扩展迁移到核心 microsoft/vscode 仓库。这使工具能够访问更底层和更丰富的 API,从而使我们能够修复许多终端挂起问题。此更新还带来了未来更容易实现功能的好处,因为我们不再受限于扩展 API 的功能,尤其是任何需要在聊天视图中进行自定义 UI 更改的功能。

使用聊天时没有 Shell 集成的警告

虽然我们努力允许代理模式在没有 Shell 集成的终端中运行命令,但体验始终会较差,因为终端在此刻本质上是一个黑匣子。没有 Shell 集成可能出现的问题示例有:没有退出代码报告,以及无法区分命令空闲和提示空闲,导致输出可能不会报告给代理。

当使用 run in terminal 工具但未检测到 Shell 集成 时,会显示一条消息,指出这一点并指向文档。

Screenshot of a message in the Chat view saying "Enable shell integration to improve command detection".

任务和终端的输出轮询

代理现在通过输出轮询等待任务和后台终端完成,然后再继续。如果一个进程耗时超过 20 秒,系统会提示您继续等待或继续。代理将监控该进程长达两分钟,总结当前状态或报告进程是否仍在运行。这提高了在聊天中运行长时间或容易出错的命令时的可靠性。

任务感知度改进

以前,代理只能监控活动任务。现在,它能够跟踪和分析活动和已完成任务的输出,包括那些失败或已完成运行的任务。此增强功能有助于更好地进行故障排除,并更全面地了解任务执行历史记录。

代理对用户创建的终端的感知

代理现在维护对工作区中所有用户创建的终端的感知。这使其能够跟踪最近的命令并访问终端输出,从而为协助终端和故障排除提供更好的上下文。

终端内联聊天改进

终端内联聊天现在可以更好地检测您的活动 shell,即使在子 shell 中工作时也是如此(例如,从 PowerShell 或 zsh 启动 Python 或 Node)。这种动态 shell 检测通过为当前 shell 类型提供更相关的命令建议,提高了内联聊天响应的准确性。

Screenshot of terminal inline chat showing node specific suggestions.

改进的测试运行器工具

测试运行器工具已重做。它现在在聊天中内联显示进度,并且工具中的许多错误已得到修复。

编辑以前的请求

设置chat.editRequests

上一个迭代中,我们允许用户编辑以前的请求并推出了几个不同的访问点。在此迭代中,我们将内联编辑设置为默认行为。点击请求气泡即可开始编辑该请求。您可以修改附件、更改模式和模型,并使用修改后的文本重新发送请求。

如果您喜欢通过每个请求上方工具栏的悬停来编辑,您可以通过 chat.editRequests 设置控制聊天编辑行为。

将聊天作为最大化打开

设置workbench.secondarySideBar.defaultVisibility

我们为配置辅助侧边栏的默认可见性添加了两个额外选项,以将其最大化打开:

  • maximizedInWorkspace:在打开新工作区时将聊天视图最大化打开
  • maximized:始终将聊天视图最大化打开,包括在空窗口中

Screenshot that shows the Chat view maximized.

待处理聊天确认

为了帮助防止意外关闭正在主动更改文件或响应您请求的代理会话的工作区,当您尝试退出 VS Code 或关闭其窗口时,如果聊天响应正在进行中,我们现在会显示一个对话框。

Screenshot of confirmation to exit with running chat.

用户操作时的操作系统通知

设置chat.notifyWindowOnConfirmation

我们现在利用操作系统原生通知系统在聊天会话中需要用户确认时显示一个 Toast 提示。使用 chat.notifyWindowOnConfirmation 启用此行为。

Screenshot of toast for confirmation of a chat agent.

我们计划在未来改进此体验,以允许显示更多信息并允许您直接从 Toast 批准。目前,选择 Toast 会将焦点集中到确认源自的窗口。

聊天中的数学支持(预览)

设置chat.math.enabled

聊天现在初步支持在回复中渲染数学方程式

Screenshot of the Chat view, showing inline and block equations in a chat response.

此功能由 KaTeX 提供支持,并支持内联和块级数学方程式。内联数学方程式可以通过将标记用单个美元符号 ($...$) 包裹来编写,而块级数学方程式则使用两个美元符号 ($$...$$)。

可以通过 chat.math.enabled 启用数学渲染。目前,它默认关闭,但我们计划在未来的版本中,经过进一步测试后启用它。

Context7 集成用于项目脚手架(实验性)

设置github.copilot.chat.newWorkspace.useContext7

当您使用聊天中的 #new 命令搭建新项目时,如果您已经安装了 Context7 MCP 服务器,您现在可以确保它使用 Context7 的最新文档和 API。

MCP

服务器自动启动和信任

设置chat.mcp.autostart

以前,当您添加或更新 MCP 服务器配置时,VS Code 会在聊天视图中显示一个蓝色的“刷新”图标,使您能够手动刷新工具列表。在此里程碑中,您现在可以配置 MCP 服务器的自动启动行为,因此您不再需要手动重新启动 MCP 服务器。

使用 chat.mcp.autostart 设置控制此行为。您还可以在图标的工具提示中更改此设置,并查看将启动哪些服务器。

Screenshot showing the hover of the refresh MCP server icon, enabling you to configure the auto-start behavior.

第一次在更新或更改后启动 MCP 服务器时,我们现在会显示一个对话框,要求您信任该服务器。在启用自动启动的情况下,信任这些服务器尤其重要,以防止在不知情的情况下运行不必要的命令。

在我们的文档中了解有关 在 VS Code 中使用 MCP 服务器 的更多信息。

远程 MCP 服务器的客户端凭据流

远程 MCP 服务器想要支持身份验证的理想流程是使用支持动态客户端注册 (DCR) 的身份验证提供程序。这使得客户端 (VS Code) 能够向该身份验证提供程序注册自己,从而使身份验证流程无缝。

但是,并非所有身份验证提供程序都支持 DCR,因此我们引入了客户端凭据流,使您能够提供自己的客户端 ID 和(可选)客户端密钥,这些将用于通过身份验证提供程序的身份验证流。以下是它的样子:

  • 步骤 1:VS Code 检测到无法使用 DCR,并询问您是否要执行客户端凭据流

    Screenshot of a modal dialog saying that DCR is not supported but you can provide client credentials manually.

    重要:此时,您需要访问身份验证提供程序的网站并手动创建应用程序注册。在那里您将输入模式对话框中提到的重定向 URI。

  • 步骤 2:从身份验证提供程序的门户中,您将获得一个客户端 ID 和一个可选的客户端密钥。您将客户端 ID 放入出现的输入框中,然后按 Enter

    Screenshot of an input box to provide the client ID for the MCP server.

  • 步骤 3:然后,如果您有客户端密钥,请将其输入并按 Enter(如果没有,则留空)。

    Screenshot of an input box to provide the optional client secret for the MCP server.

    此时,您将通过典型的身份验证流程来验证您正在使用的 MCP 服务器。

从帐户菜单中删除动态身份验证提供程序

自添加远程 MCP 身份验证以来,命令面板中有一个名为 **身份验证:删除动态身份验证提供程序** 的命令,它使您能够删除客户端凭据(客户端 ID,如果可用,还有客户端密钥)以及与该提供程序关联的所有帐户信息。

我们现在已将此命令公开到帐户菜单中。您可以在 MCP 服务器帐户中找到它

Screenshot of the Account menu showing the manage dynamic auth option in an account's submenu.

或如果还没有任何 MCP 服务器帐户,则在菜单的根目录中

Screenshot of the Account menu showing the manage dynamic auth option in the root of account menu.

VS Code 现在完全支持最新的 MCP 规范,版本 2025-06-18,支持工具结果中的 resource_link 和结构化输出。

辅助功能

可访问的聊天启发

当代理提示用户输入时,例如是否继续等待进程,聊天启发现在可供屏幕阅读器访问。当提示出现时,您会收到警报,可以通过键盘导航到它,并可以在可访问视图中查看消息。

控制聊天编辑的文件打开

一个新设置,accessibility.openChatEditedFiles,让您可以选择当代理在聊天中编辑文件时是否自动打开这些文件。启用此设置可以更好地控制编辑器中显示哪些文件。

查看所有和以前编辑的命令

查看所有编辑”和“查看以前编辑”命令现在在整个编辑器中可用,可以轻松查看代理所做的更改。当 accessibility.openChatEditedFiles 禁用时,这些命令特别有用,允许您在不打开每个文件的情况下跟踪编辑。

侧边栏可见性通知

当主侧边栏或辅助侧边栏显示或隐藏时,ARIA 通知现在会通知您此更改。这通过确保屏幕阅读器用户了解侧边栏可见性更新来提高可访问性。

使用 Playwright 进行可访问性测试

我们为编辑器添加了使用 Playwright 的自动化可访问性测试。这些测试帮助我们持续验证 Visual Studio Code 符合可访问性标准和最佳实践,确保所有用户获得更好的体验。

编辑器体验

设置搜索建议

设置编辑器搜索框中的 AI 搜索结果切换按钮(由一个闪光图标指示)现在可供所有用户使用。当 AI 搜索结果加载并可用时,该切换按钮将启用。按下切换按钮可在 AI 和非 AI 搜索结果之间切换。

AI 设置搜索结果基于语义相似性而非字符串匹配。例如,当您搜索“增加文本大小”时,editor.fontSize 会作为 AI 设置搜索结果出现。

Screenshot of AI results in the Settings editor for "increase text size" showing editor.fontSize setting.

编辑器选项卡上下文菜单

我们清理了编辑器选项卡上下文菜单,将相关拆分和移动选项分组到一个子菜单中。

Screenshot that shows the 'Split and Move' editor tab context menu.

AI 统计信息(预览)

设置editor.aiStats.enabled

我们添加了一个实验性功能,用于显示基本的 AI 统计信息。使用 editor.aiStats.enabled 启用此功能,默认情况下此功能是禁用的。

此功能按项目向您显示 AI 插入的字符百分比与通过键入插入的字符百分比。它还会跟踪您在当天接受了多少内联和下一次编辑建议。

Screenshot showing the AI statistic hover information in the Status Bar.

Notebook

带有代理工具的笔记本内联聊天

设置inlineChat.notebookAgent

笔记本内联聊天控件现在可以使用全套笔记本代理工具,以启用运行单元格和将包安装到内核等附加功能。

要在笔记本中启用代理工具,请启用新的实验性设置 inlineChat.notebookAgent。目前这还需要启用内联聊天 v2 的设置 inlineChat.enableV2

在用 uv 创建的虚拟环境中安装依赖项

现在,当您使用 uv 创建的虚拟环境运行 Jupyter Notebook 时,我们支持安装所需的依赖项。

源代码管理

Git 工作树支持

设置git.detectWorktrees

为了解决长期存在的 功能请求,本里程碑我们添加了 Git 工作树支持。工作树允许您一次检出多个分支,从而可以轻松测试更改或并行工作,而无需切换上下文。

当打开包含 Git 仓库的文件夹或工作区时,我们现在会自动检测工作树并在源代码管理仓库视图中显示它们。您现在可以使用命令面板或源代码管理仓库视图中可用的命令,在新窗口或当前窗口中查看、创建、删除和打开工作树。您可以通过切换 git.detectWorktrees 设置来禁用此功能。

Screenshot of create worktree command in Source Control view.

Screenshot of open and delete worktree commands in the Source Control view.

仓库视图

源代码管理仓库视图显示当前文件夹/工作区中发现的所有源代码管理提供程序。在此里程碑中,我们更新了视图的渲染,以在视觉上区分仓库、子模块和工作树。我们还显示了仓库、子模块和工作树之间的父子关系。

Screenshot of the Source Control Repositories view showing two repositories and a worktree associated with one of the repos.

终端

终端建议中的文档支持

由语言服务器(LSP)支持的终端建议现在包含内联文档,类似于您在编辑器中看到的。从 Python REPL 开始,您在键入时将获得命令的有用描述和使用详细信息。

您目前需要这些设置才能在终端中启用 LSP 建议:

语音听写

现在终端支持自然语言输入,包括由 Gemini 和 Claude 扩展启用的那些,我们已在终端中重新引入语音听写。您可以通过使用“终端:开始终端听写”和“终端:停止终端听写”命令来开始或停止听写。

改进的 Shell 集成诊断

Shell 集成 是许多集成终端功能的基础,例如 粘性滚动快速修复代理模式 理解终端内部情况的能力。

此版本在您将鼠标悬停在终端上并选择“显示详细信息”时提供了一些改进的诊断功能。您现在应该会看到检测到的 shell 类型和当前工作目录。

Screenshot of the detailed terminal tab hover showing the shell type like pwsh and the current working directory.

如果这些丰富功能中的一个未按预期工作,这是首先要查看的地方之一。

语言

Python

Python 3.13 及更高版本的 Shell 集成支持

我们现在支持 Python 3.13 或更高版本的 Shell 集成。启用后,PyREPL 会自动禁用以确保兼容性。如果您更喜欢继续使用 PyREPL,可以禁用 Shell 集成。

Screenshot showing the Python shell integration setting in the Settings editor.

Python 环境扩展改进

Python Environments Extension 作为受控发布给稳定用户的部分,继续接收了错误修复和改进。要在发布期间使用 Python Environments 扩展,请确保已安装该扩展并将以下内容添加到您的 VS Code settings.json 文件中:"python.useEnvironmentsExtension": true

TypeScript 5.9

VS Code 现在包含 TypeScript 5.9.2。此重大更新带来了一些新的语言改进,包括 对 import defer 的支持,以及工具改进,例如 许多 DOM API 的改进文档

查看 TypeScript 5.9 发布博客,了解此更新的更多详细信息。

JavaScript 和 TypeScript 的可展开悬停

当您在 JavaScript 或 TypeScript 中将鼠标悬停在符号上时,VS Code 会尝试显示有关该符号最有用的 IntelliSense 类型信息。类型可能非常复杂,因此我们面临的一个挑战是尝试在显示足够详细的信息以有用与不显示太多信息以至于令人不知所措之间找到正确的平衡点。很难提出一种一刀切的好方法,而且您想要的类型详细程度也可能因您正在处理的内容而异。

这就是为什么在此迭代中,我们添加了新的 UI,使您可以更好地控制类型在悬停中显示的方式。当您将鼠标悬停在符号上时,现在可以选择悬停控件左侧的小 + 图标,将悬停中的接口和复杂类型展开为它们的组件。例如,您可以使用此功能直接在悬停中查看接口的属性

悬停可以多次展开,这将递归地展开先前展开的类型。如果您展开太多,只需选择 - 图标即可返回上一级。另请记住,并非所有类型都可以展开,并且我们仍然需要对可以支持的展开量进行一些限制。如果可展开悬停未能达到您的预期效果,请告诉我们

对扩展的贡献

GitHub 拉取请求

GitHub Pull Requests 扩展的开发取得了更多进展,该扩展使您能够处理、创建和管理拉取请求和问题。

查看 0.116.0 版扩展的更新日志,了解该版本中的所有内容。

拉取请求标题清理

我们简化了拉取请求描述标题中的按钮栏。复制操作现在位于 PR 链接的右键上下文菜单中。

Screenshot of the simplified PR header when opening the PR details.

在聊天中显示编码代理 PR

设置githubPullRequests.codingAgent.uiIntegration

当您启动编码代理会话(通过 #copilotCodingAgent 或通过“委托给编码代理”操作)时,拉取请求将在聊天视图中显示为卡片。

Screenshot of a coding agent PR card in the Chat view.

启用 githubPullRequests.codingAgent.uiIntegration 设置以启用聊天视图中新的“委托给编码代理”按钮,适用于已启用代理的仓库。

聊天会话(实验性)

编码代理聊天

上一个迭代的 Copilot 编码代理集成 的基础上,您现在可以从专用聊天编辑器管理编码代理会话。这使您能够跟踪编码代理的进度,提供后续说明,并在专用聊天编辑器中查看代理的响应。

  • 通过 #copilotCodingAgent 工具或通过 UI 控件 从 VS Code 启动编码代理会话。

  • 在附加的聊天编辑器中跟踪编码代理的进度。

    Screenshot showing Coding Agent progress.

  • 直接从聊天中提供后续说明。

    Screenshot showing providing a followup in chat to coding agent.

聊天会话视图

设置chat.agentSessionsViewLocation

启用 chat.agentSessionsViewLocation 设置即可尝试此实验性功能。

  • 当设置为 view 时,您将在 VS Code 侧边栏中看到一个新的“聊天会话”视图。此视图使您能够管理和与您的本地聊天会话以及编码代理会话进行交互。

    Screenshot showing the Coding Agent Sessions view.

  • 当设置为 showChatsMenu 时,编码代理聊天会话将与本地聊天历史记录一起显示。

    Screenshot showing the Coding Agent Sessions Quick Pick.

此集成需要最新的 GitHub Pull Request 扩展和支持 Copilot 编码代理的已打开仓库。欲了解更多信息,请参阅有关如何在 VS Code 中使用编码代理 的新文档。

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

扩展开发

终端激活事件

扩展程序有两个新的激活事件:

  • onTerminal:当任何终端打开时触发。
  • onTerminalShellIntegration:当终端启用富 Shell 集成时触发。

您可以指定 shellType 以针对特定 shell。例如,onTerminalShellIntegration:bash 在 Bash 终端启用 Shell 集成时激活。

提议的 API

在聊天回复中渲染自定义 Web 视图

聊天输出渲染器 API 允许扩展程序将聊天回复扩展到文本和图像之外。通过它,您的扩展程序可以使用 webview 在聊天输出中渲染任意 HTML 内容。示例用例包括自定义可视化、内联预览甚至交互式控件。

聊天输出渲染器扩展示例 展示了如何使用此 API 在聊天回复中渲染 Mermaid 图表。以下是此扩展示例的实际操作示例:

Screenshot showing a mermaid diagram in a chat response.

巧妙之处在于 VS Code 不仅可以渲染 Mermaid 图表,而且这种渲染可以完全由扩展程序贡献。通过它,您可以在聊天中迭代自定义输出。

Screenshot asking chat to generate a modified version of the first diagram.

以下是 API 工作原理的简要说明:

  1. 注册一个语言模型工具,它可以返回自定义数据作为其响应的一部分。我们使用 MIME 类型来识别此数据。
  2. 为此 MIME 类型注册一个聊天输出渲染器。
  3. 当语言模型调用该工具时,调用聊天输出渲染器将其渲染到响应中的 webview 中。

查看扩展示例,了解此 API 的完整端到端示例。

这个 API 潜力巨大,可以带来一些令人惊叹的全新聊天体验,所以请尝试一下,并告诉我们您的想法!

聊天会话提供程序 API

新的聊天会话提供程序 API 提案允许扩展程序将其自己的聊天后端集成到 VS Code 的原生聊天 UI 中。通过它,您的扩展程序可以打开一个新的聊天会话,填充该会话的历史记录,并响应新的用户提示。

此 API 仍处于早期阶段,可能会发生变化。但是,我们已经在使用它来为新的 GitHub 编码代理会话流 提供支持,该流从 GitHub 加载聊天并允许您与完全由 GitHub 控制的代理聊天。

任务执行终端

扩展作者现在可以通过新的 taskExecution.terminal 属性访问与正在运行的任务关联的终端。这使得更容易识别哪个终端链接到特定任务并以编程方式与其交互。

SecretStorage keys() API

如果您曾经想获取您的扩展存储在 SecretStorage 中的密钥列表,现在可以使用新的提议的 keys() API 来实现

export async function activate(context: ExtensionContext) {
  await context.secrets.store('mySecret', 'superSecretValue');
  await context.secrets.store('mySecret2', 'superSecretValue2');
  const keys = await context.secrets.keys();
  console.log('All secret keys:', keys); // returns ['mySecret', 'mySecret2']
}

注意:此更改取决于对提供 Secret Storage 替代实现的任何内容的更改,特别是 https://vscode.dev(已采用新 API)和 https://github.dev(即将采用新 API)。在不支持它的环境中,此 API 将抛出异常。

工程

packages.microsoft.com 密钥更新

packages.microsoft.com 已更新其签名密钥,因此,在新发行版上的 Linux 用户在安装 VS Code 时应不再看到与密钥相关的警告或错误。基于 Debian 的发行版会自动收到新密钥,而其他发行版上的用户可能需要手动删除旧密钥,然后导入新密钥

Electron 37 更新

在此里程碑中,我们正在将 Electron 37 更新推广到我们的稳定版用户。此更新附带 Chromium 138.0.7204.100 和 Node.js 22.17.0。我们要感谢所有在 Insiders 构建上自托管并提供早期反馈的用户。

值得注意的修复

  • vscode#252384 - 当 VS Code 失去焦点时,代理模式暂停

感谢

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

问题跟踪

对我们问题跟踪的贡献

拉取请求

vscode 的贡献

vscode-codicons 的贡献

vscode-copilot-chat 的贡献

vscode-eslint 的贡献

vscode-js-debug 的贡献

  • @pilaoda (pilaoda)
    • 修复监视面板自定义字符串表示。#2252 PR #2253
    • 修复在所有变量定义在作用域内之前,toString 在本地变量面板中不起作用的问题 #2254 PR #2255

vscode-json-languageservice 的贡献

vscode-vsce 的贡献

debug-adapter-protocol 的贡献

language-server-protocol 的贡献

python-environment-tools 的贡献