本站点文档内容均翻译自code.visualstudio.com,仅供个人学习,如有差异请以官网为准。

2025年7月(版本1.103)

发布日期:2025年8月7日

更新 1.103.1:更新增加了GPT-5 prompt 改进,支持GPT-5 mini,并解决了这些问题

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

下载: Windows: x64 Arm64 | Mac: 通用 英特尔 | Linux: deb rpm tarball Arm snap


欢迎来到2025年7月发布的Visual Studio Code。这个版本有很多更新,我们希望你会喜欢,主要亮点包括:


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

内部人士:想尽快尝试新功能吗?
你可以下载夜间内部人士版本,尽快尝试最新更新。
下载内部人士版本

聊天

GPT 5 可用性

从今天开始,GPT-5 将逐步推广到所有付费的 GitHub Copilot 计划。GPT-5 是 OpenAI 目前最强大的模型,带来了在推理、编码和聊天方面的新进展。在 GitHub 更新日志 中了解更多关于 GPT-5 模型可用性的信息。

打开聊天视图,并从模型选择器中选择GPT-5,以在VS Code中开始使用它进行聊天对话。了解更多关于在VS Code中使用语言模型的信息。

更新 1.103.1:此更新增加了重要的提示改进,以进一步提高模型的质量和性能。

GPT 5迷你版可用性

更新 1.103.1

从本次发布开始,GPT-5 mini 将面向所有 GitHub Copilot 计划推出。GPT-5 mini 是 OpenAI 的 GPT-5 的更快、更 cost-efficient 的版本。在 GitHub 更新日志 中了解更多关于 GPT-5 mini 模型可用性的信息。

聊天检查点

设置

chat.checkpoints.enabled
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

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

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

检查点将默认启用,并且可以使用

chat.checkpoints.enabled
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
输入:.

工具选择器改进

在这一版本中,我们彻底改造了工具选择器,并采用了一个名为Quick Tree的新组件来显示所有工具。

截图显示了新的工具选择器,使用快速树,可以折叠和展开节点。

显著特点:

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

告诉我们您的想法!

工具分组(实验性)

设置

github.copilot.chat.virtualTools.threshold
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

您当前可以为单个聊天请求使用最多128个工具。以前,通过安装带有许多工具的MCP服务器,您可以很快达到这个限制,这需要您选择一些工具以继续进行。

在此次 VS Code 发布中,我们启用了一种实验性的工具调用模式,当工具数量超过最大限制时可以使用。工具会自动分组,并且模型将具备激活和调用工具组的能力。

此行为,包括阈值,可以通过设置进行配置

github.copilot.chat.virtualTools.threshold
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
输入:.

终端自动批准改进

设置

chat.tools.terminal.autoApprove
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

上个月引入了早期终端自动批准设置。此版本对该功能进行了许多改进。了解更多关于终端自动批准的信息,请参阅我们的文档。

  • 我们合并了允许列表拒绝列表设置进入

    chat.tools.terminal.autoApprove
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    设置。如果您使用的是旧设置,您应该看到一个警告,要求您迁移到新设置。

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

    "chat.tools.terminal.autoApprove": {
      // 拒绝所有 `Remove-Item` 命令,忽略大小写
      "/^Remove-Item\\b/i": false
    }
    
  • 关于子命令匹配的规则存在一些混淆,这现在在设置说明中详细解释了,但我们也支持根据完整的命令行进行匹配。

    "chat.tools.terminal.autoApprove": {
      // 拒绝任何包含可能的PowerShell脚本引用的命令行
      "/\\.ps1\\b/i": { "approve": false, "matchCommandLine": true }
    }
    
  • 自动批准的原因现在记录在终端输出通道中。我们计划很快在用户界面中显示这一点

终端和任务的输入请求检测

当您以代理模式运行任务或终端命令时,代理现在可以检测到进程请求用户输入。您将在聊天中收到响应提示,其中默认或第一个选项会作为主要操作显示,其他选项会以下拉菜单的形式提供。这适用于需要多次确认的脚本和命令,支持所有受支持的 shell 和前台及后台终端。如果在有提示时在终端中输入内容,提示将自动隐藏。当提供选项和描述时(例如[Y] 是 [N] 否这些将在确认提示中显示。

在下面的示例中,通过代理运行一个包含多个用户输入提示的脚本。确认提示出现,我接受这些操作,使终端脚本能够完成运行,并且代理提供一个关于所发生事情的总结。

输入被检测并响应的示例

改进了具有问题匹配器的任务的错误检测

对于使用问题匹配器的任务,代理现在根据问题匹配器的结果收集和呈现错误,而不是依赖于语言模型来评估输出。问题以下拉菜单的形式显示在聊天进度消息中,允许您直接导航到问题的位置。这确保了只有在当前任务执行相关时才会报告错误。

在代理模式下支持复合任务

代理模式现在支持运行复合任务。当您运行复合任务时,代理会显示每个依赖任务的进度和输出,包括任何用户输入的提示。这使更复杂的流程成为可能,并且可以更好地监控多步骤任务执行。

在下面的示例中,运行 VS Code - 构建任务。每个依赖任务的输出都会被评估,并且在响应中以及在进度消息下拉菜单中向用户显示问题。

VS Code - 构建任务的代理示例

无障碍:聚焦聊天确认操作

我们添加了一个命令,聚焦聊天确认 (kb(工作台.聊天.聚焦确认)),这将聚焦确认对话框(如果有的话),或者向屏幕阅读器用户宣布不需要确认。

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

设置

chat.todoListTool.enabled
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

代理模式的好处是,您可以给它一个高级任务,并让它来实施。当它规划工作并将工作分解成更小的任务时,跟踪所有这些单独任务的进度可能会令人感到压力。

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

通过给代理一个高级任务并要求它在待办事项清单中跟踪其工作来开始!

此功能仍在实验阶段,您可以使用以下方法启用它

chat.todoListTool.enabled
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置。

改进的模型管理体验

在这一迭代中,我们彻底改进了聊天提供者 API,该 API 负责语言模型的访问。用户现在可以选定在他们的模型选择器中显示哪些模型,从而创造一个更加个性化和专注的体验。

模型选择器的截图,显示了来自 Copilot 和 OpenRouter 等提供商的各种模型

我们计划在未来几个月内完成这个新的API,并且非常感谢任何反馈。这个API的完成将开放扩展生态系统,使其能够实现自己的模型提供者,并进一步扩展自定义密钥功能。

Azure DevOps 代码库远程索引支持

#代码库 tool 现在支持链接到 Azure DevOps 代码库的工作区的远程索引。这使得 #代码库几乎即时地搜索相关片段,而无需任何初始化。这甚至适用于拥有数万份可索引文件的大型仓库。以前,此功能仅适用于与GitHub链接的仓库。

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

我们正在逐步在服务端推出对这一功能的支持,因此并非所有组织一开始都能使用它。根据推出的成功情况,我们希望尽可能为更多的组织开启 Azure DevOps 的远程索引。

提高了终端和任务工具中运行的可靠性和性能

我们已经将用于在终端内运行任务和命令的工具从Copilot扩展迁移到核心microsoft/vscode仓库。这使得这些工具可以访问更低级和更丰富的API,使我们能够修复许多终端卡顿问题。此更新还具有在未来更轻松地实现功能的好处,因为我们不再受扩展API功能的限制,特别是需要在Chat视图中进行任何自定义UI的更改。

输出任务和终端的轮询

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

任务意识提升

之前,代理只能监控活动任务。现在,它可以跟踪和分析活动和已完成任务的输出,包括那些失败或已完成运行的任务。此增强功能使故障排除更加有效,并提供了对任务执行历史记录的更全面的见解。

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

代理现在可以保持对工作区中所有用户创建终端的意识。这使它能够跟踪最近的命令并访问终端输出,从而更好地为终端提供帮助和进行故障排除。

终端内联聊天改进

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

终端内联聊天的截图,显示节点特定建议。

改进的测试运行工具

测试运行工具已经重新设计。它现在在聊天中直接显示进度,并且修复了该工具中的许多错误。

编辑之前的请求

设置

聊天编辑请求
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

在上一次迭代中,我们使用户能够编辑以前的请求,并推出了几个不同的访问点。在本次迭代中,我们使原地编辑成为默认行为。点击请求气泡即可开始编辑该请求。您可以修改附件、更改模式和模型,并重新发送带有修改文本的请求。

您可以使用以下内容控制聊天编辑行为

聊天编辑请求
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置如果你更喜欢通过工具栏悬停在每个请求上方进行编辑。

打开聊天Windows并最大化

设置

工作台.次级侧边栏.默认可见性
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

我们增加了两个额外的选项来配置次级侧边栏的默认可见性以最大化打开:

  • 最大化在工作区打开新的工作区时,将聊天视图最大化。
  • 最大化: 将聊天视图始终最大化显示,包括在空Windows中

显示聊天视图最大化截图。

待确认聊天

为了帮助防止意外关闭包含活动更改文件或响应您的请求的代理会话的工作区,现在在您尝试退出 VS Code 或关闭其Windows时(聊天响应正在进行中)会显示一个对话框:

退出时运行聊天的确认截图。

操作系统在用户操作上的通知

设置

chat.notifyWindowOnConfirmation
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

我们现在利用操作系统原生的通知系统,在聊天会话中需要用户确认时显示一个通知。通过启用此行为来实现。

chat.notifyWindowOnConfirmation
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
输入:.

聊天代理确认的吐司截图。

我们计划在未来改进这一体验,以便显示更多信息,并允许您直接从通知栏进行批准。目前,选择通知栏会将焦点集中在确认来源的Windows。

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

设置

chat.math.enabled
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

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

聊天视图的截图,显示在聊天回复中内联和块级方程。

此功能由KaTeX提供支持,支持内联和块级数学方程。内联数学方程可以通过在标记周围添加单个美元符号来编写(输入:$...$),而块级数学方程使用两个美元符号 (输入:$$...$$)。

数学渲染可以通过使用

chat.math.enabled
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
目前,它默认是关闭的,但我们计划在未来的版本中启用它,经过进一步的测试。

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

设置

github.copilot.chat.newWorkspace.useContext7
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

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

多路转换器

服务器自动启动和信任

设置

chat.mcp.autostart
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

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

使用

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

截图显示悬停在刷新MCP服务器图标上,使您可以配置自动启动行为。

第一次启动更新或更改后的MCP服务器时,我们现在会显示一个对话框询问您是否信任该服务器。特别重要的是,在启用自动启动的情况下信任这些服务器,以防止意外运行不希望的命令。

了解更多关于在 VS Code 中使用 MCP 服务器的信息,请参阅我们的文档。

客户端凭证流程用于远程MCP服务器

对于希望支持身份验证的远程MCP服务器,理想的流程是使用支持动态客户端注册(DCR)的认证提供商。这使客户端(VS Code)能够自行注册到该认证提供商,从而实现无缝的身份验证流程。

然而,并不是所有的认证提供商都支持DCR,因此我们引入了一种client-credentials流程,这使您能够在通过认证提供商的认证流程时提供自己的客户端ID和(可选地)客户端秘密。以下是它的样子:

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

    模态对话框的截图,显示DCR不被支持,但您可以手动提供客户端凭证。

    重要:在此步骤,您会访问身份提供商的网站并手动创建一个应用程序注册。在那里,您将输入模态对话框中提到的重定向 URIs。

  • 步骤 2:从身份提供商的门户,您将获得一个客户端 ID,可能还有一个客户端密钥。您将在出现的输入框中输入客户端 ID 并按 回车键

    截图显示了输入框,用于提供MCP服务器的客户端ID。

  • 步骤 3:然后如果你有一个客户端秘密,你会输入客户端秘密,并按回车键(如果没有,请留空)

    截图显示了一个输入框,用于为MCP服务器提供可选的客户端秘密。

    在那一刻,您将通过典型的认证流程来认证您所使用的MCP服务器。

从账户菜单中移除动态认证提供商

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

我们现在在“账户”菜单中暴露出这个命令。你可以在MCP服务器账户中找到它:

显示在账户子菜单中管理动态认证选项的账户菜单截图。

或者在菜单的根目录下,如果你还没有任何MCP服务器账户:

显示在账户菜单中的管理动态认证选项的屏幕截图。

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

无障碍

无障碍聊天引出

当代理需要用户输入时,例如是否继续等待一个进程,聊天内容现在对屏幕阅读器是可访问的。当提示出现时,您会收到警报,可以使用键盘导航到该提示,并可以在无障碍视图中查看消息。

控制聊天编辑的文件打开

一个新的场景,

无障碍.打开聊天编辑文件
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
,允许您选择文件是否在代理在聊天中编辑时自动打开。启用此设置以更好地控制哪些文件出现在您的编辑器中。

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

“查看所有编辑”“查看以前的编辑”命令现在在整个编辑器中可用,使轻松查看智能体所做的更改成为可能。这些命令在特别有用。

无障碍.打开聊天编辑文件
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
已禁用,允许您在不打开每个文件的情况下跟踪编辑。

侧边栏可见性公告

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

使用Playwright进行无障碍测试

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

编辑体验

设置搜索建议

AI搜索结果切换器在设置编辑器的搜索框中,带有闪烁标记,现在对所有用户可用。当AI搜索结果加载并可用时,切换器将启用。按下切换器在AI和非AI搜索结果之间切换。

AI设置搜索结果基于语义相似性,而不是字符串匹配。例如,编辑器.字体大小当你搜索“增加文本大小”时,会显示为一个AI设置搜索结果。

在“增加文本大小”的设置编辑器中显示的AI结果截图,显示了editor.fontSize设置。

编辑器标签上下文菜单

我们清理了编辑器标签上下文菜单,将相关的选项分组到一个子菜单中用于拆分和移动:

显示“拆分和移动”编辑器标签上下文菜单的截图。

AI 统计 (预览)

设置

编辑器.ai统计.启用
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

我们添加了一个实验性功能,用于显示基本的AI统计数据。使用

编辑器.ai统计.启用
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
要启用此功能,该功能默认是禁用的。

此功能按项目显示,由AI插入的字符百分比与通过输入插入的字符百分比。它还记录了您在当前一天中接受的内联和下一项编辑建议的数量。

截图显示状态栏中AI统计信息的悬停信息。

笔记本电脑

笔记本内联聊天与代理工具

设置

内联聊天.笔记本代理
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

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

要启用 notebook 中的 agent 工具,请启用新的实验性设置

内联聊天.笔记本代理
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
这目前也要求启用内联聊天 v2 的设置
立式聊天启用V2
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
输入:.

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

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

源代码管理

Git工作树支持

设置

git.检测工作树
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

为了解决一个长期的功能请求,在这一里程碑中我们增加了对Git工作树的支持。工作树可以让你同时检出多个分支,使测试更改或并行工作变得容易,而无需切换上下文。

当打开包含git仓库的文件夹或工作区时,我们现在会自动检测工作树,并在源代码控制仓库视图中显示它们。您现在可以通过命令面板或源代码控制仓库视图中提供的命令在新Windows或当前Windows中查看、创建、删除和打开工作树。您可以切换该功能以禁用此功能。

git.检测工作树
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置。

源代码控制视图中创建工作树命令的截图。

源代码控制视图中打开和删除工作区命令的截图。

仓库视图

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

源代码管理库视图的截图,显示了两个库和与其中一个库关联的工作树。

终端

终端文档支持建议

终端建议由语言服务器(LSP)提供,现在包括与编辑器中看到的类似的内联文档。从Python REPL开始,您在输入时将获得命令的帮助描述和使用细节。

您当前需要这些设置来在终端中启用LSP建议:

  • python.terminal.shellIntegration.enabled
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
  • python分析支持所有Python文档
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开

语音输入

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

改进的外壳集成诊断

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

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

详细终端标签悬停的截图,显示了pwsh等外壳类型和当前工作目录。

这是检查其中一个丰富功能是否按预期工作的一个首选位置。

语言

Python

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

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

截图显示在设置编辑器中设置的Python shell集成选项。

Python 环境扩展改进

Python 环境扩展继续接收错误修复和改进,作为向稳定用户可控推出的一部分。在推出过程中使用 Python 环境扩展,请确保扩展已安装,并在 VS Code 中添加以下内容settings.json文件:"python.useEnvironmentsExtension": true输入:.

TypeScript 5.9

VS Code 现在包含 TypeScript 5.9.2。这个重要的更新带来了一些新的语言改进,包括 支持 import defer,以及诸如 许多 DOM apis 的改进文档 等工具改进。

查看 TypeScript 5.9 发布博客 以获取此更新的更多详细信息。

可扩展的JavaScript和TypeScript悬停

当您在JavaScript或TypeScript中悬停在某个符号上时,VS Code会尝试显示该符号的最有用的IntelliSense类型信息。类型可能非常复杂,因此我们面临的一个挑战是找到在显示足够的信息以有用的同时,又不显示过多的信息使其变得令人难以应对之间的平衡。很难想到一个通用的好方法,并且您所从事的工作内容可能会导致您所需的类型细节级别发生变化。

这就是为什么这一迭代,我们增加了新的用户界面,使您能够更多地控制在悬停时如何显示类型。当您悬停在一个符号上时,现在您可以选择小的输入:+将悬停控制左侧的图标展开悬停中的接口和复杂类型。例如,您可以使用此功能直接在悬停中查看接口的属性:

悬停可以多次扩展,这会递归扩展之前扩展的类型。如果你扩展得太多,只需选择输入:- 图标以返回到上一级。请记住,并非所有类型都可以扩展,并且我们仍然需要对扩展的限制进行一些限制。请告知我们是否有任何情况下可扩展的悬停效果无法按您的期望工作。

对扩展的贡献

GitHub 拉取请求

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

查看0.116.0版本的更新日志,了解此次发布中的所有内容。

拉取请求标题清理

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

打开 PR 详细信息时的简化的 PR 头截图。

在聊天中显示编码代理 PRs

设置

github拉取请求.编码代理.用户界面集成
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

当你开始一个编码代理会话(通过#Copilot编程助手 或者与 委托给编码代理 动作),拉取请求将显示为聊天视图中的卡片。

聊天视图中编码代理PR卡的截图。

启用

github拉取请求.编码代理.用户界面集成
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置以启用新的 委托给编码代理 按钮在聊天视图中,对于已启用代理的仓库。

聊天会话(实验性)

编码代理聊天

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

  • 从 VS Code 开始一个编码代理会话#Copilot编程助手 工具或通过 用户界面控件

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

    显示编码代理进度的截图。

  • 直接从聊天中提供后续指示。

    截图显示在聊天中向编码代理提供跟进。

聊天会话视图

设置

聊天.代理会话查看位置
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

启用

聊天.代理会话查看位置
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置以尝试此实验性功能。

  • 当设置为视图,你将会看到一个新的聊天会话视图显示在VS Code侧边栏中。此视图使你可以管理并与你的本地聊天会话以及编码代理会话进行交互。

    截图显示了编码代理会话视图。

  • 当设置为显示聊天菜单编码代理聊天会话显示在本地聊天历史记录旁边。

    截图显示编码代理会话快速选择。

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

主题: 锐利的太阳能 (预览于 vscode.dev)

扩展编写

终端激活事件

两个新的激活事件可用于扩展:

  • 在终端: 在打开任何终端时触发。
  • 在Shell终端集成: 触发于终端启用丰富的外壳集成时。

您可以指定一个壳类型针对特定的外壳。例如,在Shell终端集成:bash在启用Bash终端的外壳集成时激活。

提议的API

在聊天响应中渲染自定义网页视图

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

Chat输出渲染器扩展示例展示了如何使用此API在聊天响应中渲染Mermaid图表。以下是此扩展示例的运行示例:

截图显示聊天响应中有一个美人鱼图。

有趣的事情不是 VS Code 能渲染 Mermaid 图表,而是这种渲染完全可以通过扩展来实现。有了它,你可以在聊天中迭代自定义输出:

截图要求聊天生成第一个图表的修改版本。

以下是API的工作原理简述:

  1. 注册一个语言模型工具,该工具可以在其响应中返回自定义数据。我们使用MIME类型来识别这些数据。
  2. 为该MIME类型注册一个聊天输出渲染器。
  3. 当语言模型调用工具时,调用聊天输出渲染器将其渲染为响应中的网页视图。

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

这个API有巨大的潜力,可以实现一些非常棒的新聊天体验,所以试试看并告诉我们你的想法!

聊天会话提供者 API

新的聊天会话提供程序 API 提议使扩展能够将自己的聊天后端集成到 VS Code 的原生聊天用户界面中。使用它,您的扩展可以打开一个新的聊天会话,填充该会话的历史记录,并响应新的用户提示。

该 API 仍处于早期阶段,可能会有所变化。然而我们已经使用它来驱动新的 GitHub 编码代理会话流程,该流程从 GitHub 加载聊天记录,并允许您与完全由 GitHub 控制的代理进行聊天。

任务执行终端

扩展程序作者现在可以通过新的方式访问与正在运行的任务关联的终端任务执行.终端属性。这使得更容易确定哪个终端与特定任务相关联,并且可以编程与之交互。

秘密存储键()应用程序编程接口

如果你曾经想要获取你的扩展在其中存储的键的列表秘密存储, 现在你可以通过新的提议来做到这一点键()应用程序编程接口:

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); // 返回 ['mySecret', 'mySecret2']
}

注意:此更改依赖于任何提供替代密钥存储实现的更改,特别是 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版本上自托管并提供早期反馈的每个人。

重要修复

谢谢

最后但同样重要的,向VS Code的贡献者们致以深深的谢意

问题跟踪

对我们的问题跟踪的贡献:

拉取请求

贡献于Visual Studio Code输入:

贡献于vscode-codicons输入:

贡献于vscode- copilot- 聊天输入:

贡献于vscode-eslint输入:

贡献于vscode-js调试输入:

  • @皮洛达 (pilaoda)
    • 修复手表面板自定义字符串表示。#2252 PR #2253
    • 修复 toString 在局部变量面板中无法工作,直到所有在作用域中定义的变量 #2254PR #2255

贡献于vscode-json-languageservice输入:

贡献于vscode-vsce输入:

贡献于调试适配器协议输入:

贡献于语言服务器协议输入:

贡献于Python 环境工具输入: