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

2025年6月(版本1.102)

发布日期:2025年7月9日

更新 1.102.1:更新解决了这些问题

更新 1.102.2:该更新解决了这些问题

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

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


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

  • 聊天

  • 多路转换器

    • MCP 支持现在在 VS Code 中普遍可用 (显示更多)。
    • 使用MCP视图和画廊轻松安装和管理MCP服务器(显示更多)。
    • MCP 服务器在配置文件和设置同步中作为一级资源存在 (显示更多)。
  • 编辑经验

    • 将任务委托给 Copilot 编码代理,并在后台让它处理这些任务 (显示更多)。
    • 在中间点击时滚动编辑器 (显示更多)。

如果您想在线阅读这些发行说明,请访问 更新 页面 code.visualstudio.com内部用户: 想尽快尝试新功能吗?您可以下载 内部用户 每夜构建版本,并在最新更新可用时立即尝试。

聊天

Copilot聊天是开源的

我们很高兴地宣布,我们已经开源了 GitHub Copilot 聊天扩展!源代码现在可以在以下地址获取:microsoft/vscode-copilot聊天在 MIT 许可证下。

这是我们致力于透明度和社区合作的重要里程碑。通过开源扩展,我们使社区能够:

  • 直接贡献 为 VS Code 中 AI 助力聊天体验的发展
  • 了解聊天模式的实现、自定义指令和AI集成
  • 在此基础上 创建更好的AI开发工具
  • 参与塑造未来 AI辅助编码的未来

您可以探索该仓库,以了解诸如代理模式内联聊天MCP集成等功能的实现方式。我们欢迎社区的贡献、反馈和合作。

要了解更多关于这个里程碑以及我们对开源AI编辑工具的更广泛愿景,请阅读我们的详细博客文章:开源AI编辑器 - 第一个里程碑.

聊天模式改进

最后一个里程碑,我们预览了自定义聊天模式。除了内置的聊天模式“问”、“编辑”和“代理”,您还可以定义自己的聊天模式,具体说明和一组允许的工具,以便LLM在回复请求时遵循。

在这个里程碑中,我们在该领域进行了多项改进和错误修复。

配置语言模型

应广大要求,您现在也可以指定聊天模式中应使用哪种语言模型。添加模型元数据属性到你的chatmode.md文件并提供模型标识符(我们为模型信息提供IntelliSense)。

显示聊天模式文件中模型元数据属性的IntelliSense的截图。

改进的编辑支持

聊天模式提示指令文件的编辑器现在支持所有受支持的元数据属性的完成、验证和悬停。

显示工具悬停信息的截图。

显示在特定聊天模式下没有可用模型时的模型诊断的截图。

聊天视图中的齿轮菜单

聊天视图工具栏中的配置聊天操作可以管理自定义模式以及可重用的指令、提示和工具集:

显示聊天视图中配置聊天菜单的截图。

选择模式 显示当前所有已安装的自定义模式,并允许您打开、创建新或删除模式。

您现在可以从外部链接导入聊天模式、可重复使用的提示和说明文件,例如一个gist或我们awesome-copilot社区仓库。例如,以下链接将导入Burke的GPT 4.1 Beast Mode的聊天模式文件:

将 GPT 4.1 Beast Mode 添加到 VS Code

这将提示输入目标,即您当前的工作区或用户设置,并在从URL导入模式文件之前确认名称。

awesome-copilot 上尝试 100 多个社区贡献的指令、提示和聊天模式。

生成自定义指令

为您的项目设置自定义说明可以显著提高AI建议,因为它可以提供关于您的编码标准和项目约定的上下文信息。然而,从头开始创建有效的说明可能会具有挑战性。

在这个里程碑,我们推出了Chat: 生成指令命令,帮助您为工作区启动自定义指令。从命令面板或聊天视图中的配置菜单运行此命令,代理模式将分析您的代码库,生成反映项目结构、技术和模式的定制指令。

该命令创建一个Copilot指令.md文件在你的.github整理文件夹或对现有的指导文件提出改进建议。然后,您可以审查和自定义生成的指导文件,以满足团队的具体需求。

了解更多关于使用说明自定义AI回复的信息。

按需加载指令文件

指令文件可以用来描述编码实践和项目要求。指令可以手动或自动包含为聊天请求的上下文。

支持多种机制,见我们的文档中的自定义指令部分。

对于需要有条件包含的较大说明,您可以使用.inSTRUCTIONS.md文件与 glob 模式结合在申请标题。当全局模式匹配上下文中的一个或多个文件时,该文件会自动添加。

在这个版本中,大型语言模型可以按需加载指令。每个请求都会得到所有指令文件的列表,以及 glob 模式和描述。在这个例子中,LLM 在上下文中没有明确添加对 TypeScript 文件的指令。因此,在创建 TypeScript 文件之前,它会寻找代码风格规则:

截图显示按需加载指令文件。

编辑先前的请求(实验性)

您现在可以点击以前的请求来修改文本内容、附加上下文、模式和模型。提交此更改后,这将删除所有后续请求,撤销任何所做的编辑,并在聊天中发送新的请求。

将会有不同入口点的受控发布,以编辑请求,这将帮助我们收集关于优先编辑和撤销流程的反馈。然而,用户可以使用实验性功能来设置他们偏好的模式

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

  • chat.editRequests.inline
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    悬停请求并选择文本以开始对请求的原位编辑。
  • 聊天.编辑请求.悬停
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    悬停一个请求以显示一个带有按钮的工具栏,该按钮用于在请求中开始原地编辑。
  • 聊天编辑请求输入
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    悬停一个请求以显示一个工具栏,该工具栏将在聊天底部的输入框中开始编辑。

终端自动批准(实验性)

代理模式现在有一个在终端中自动批准命令的机制。以下是使用默认值的演示:

目前有两个设置:允许列表和拒绝列表。允许列表是一系列命令前缀或正则表达式,当匹配时,允许该命令在没有明确批准的情况下运行。例如,以下内容将允许任何以npm 运行测试 要运行,以及 准确地 git 状态git 日志输入:

"github.copilot.chat.agent.terminal.allowList": {
  "npm run test": true,
  "/^git (status|log)$/": true
}

这些设置会在设置范围内合并,这样你就可以有一组用户批准的命令,以及特定于工作区的批准命令。

对于链式命令,我们尝试基于 shell 检测这些情况,并要求所有子命令都获得批准。因此foo 和 bar我们检查两者都输入:foo酒吧仅允许在那个点运行而无需批准。我们还尝试检测内联命令,例如回显 $(pwd),这将检查两者回显 $(pwd)pwd输入:.

拒绝列表的格式与允许列表相同,但它将覆盖允许列表并强制批准。目前,这在允许列表中有一个广泛的条目时且您想阻止其中可能包含的某些命令时才有用。例如,以下内容将允许所有以 开头的命令npm 运行除非它以npm 运行 danger输入:

"github.copilot.chat.agent.terminal.allowList": {
  "npm run": true
},
"github.copilot.chat.agent.terminal.denyList": {
  "npm run danger": true
}

多亏了我们获得的对抗提示注入的保护来自工作区信任,我们在实施此功能时所采用的安全理念是将一组无害的命令包含在允许列表中,将一组特别危险的命令包含在拒绝列表中,以防它们溜过。允许列表默认为空,因为我们仍在考虑默认设置应为何种,但这是我们的想法:

  • 允许列表:回声光盘lspwdWrite-Host设置位置获取子项获取内容获取位置
  • 拒绝列表:删除移除目录删除curlwget评估改变文件权限改变文件所有者移除项目

我们希望在这个功能中添加的两个主要部分是:一个更容易向列表中添加新命令的UI入口点(#253268)和一个允许LLM评估命令安全性的可选选项(#253267)。我们还计划同时移除github.copilot. 这些设置的前缀 (#253314) 以及在下次发布之前将它们合并 (#253472),在它成为预览设置之前。

终端命令简化

代理模式有时需要以特定用户身份运行命令光盘语句,以防万一。我们现在检测到这种情况,并简化运行的命令。

终端截图,仅在当前工作目录已匹配时运行。

代理对任务和终端的感知

代理模式现在可以理解它已创建的哪些背景终端以及哪些任务正在积极运行。代理可以通过使用新的方法来读取任务输出获取任务输出该工具有助于防止运行重复任务并改善工作区上下文。

VS Code Windows的截图,显示终端面板中正在运行两个构建任务。左边的终端显示了几条错误信息。聊天机器人回复描述了我的构建任务的状态,并总结了每个任务的输出。

最大化聊天视图

现在您可以最大化右侧栏以覆盖编辑区域,并隐藏左侧栏和面板区域。VS Code将在重启之间记住此状态,并在您打开编辑器或视图时恢复聊天视图。

您可以通过使用关闭按钮旁边的新的图标在最大化状态和非最大化状态之间切换,或者使用新的命令工作台.操作.切换最大化辅助栏从命令面板。

代理模式徽章指示器

当Windows失去焦点且代理需要用户确认才能继续时,我们现在会在Dock中的应用程序图标上显示一个徽章。相关Windows获得焦点时,徽章将立即消失。

VS Code 桌面图标上的智能体确认显示为徽章的截图。

您可以通过以下方式启用或禁用此徽章

chat.确认时通知Windows
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置。

从命令行开始聊天

一个新的子命令聊天添加到 VS Code CLI,使您能够在当前工作目录中使用提供的提示开始聊天会话。

基本语法是代码聊天 [选项] [提示]选项可以是以下任何一种:

  • -m --模式 <模式>聊天会话使用的模式。可用选项:'ask','edit','agent',或自定义模式的标识符。默认为'agent'
  • -a --add-file 将文件添加到聊天会话中作为上下文
  • --最大化最大化聊天会话视图
  • -r --reuse-window强制使用聊天会话的最后一个活动Windows
  • -n --新Windows强制打开一个空的聊天Windows

从标准输入读取是支持的,前提是您传递了输入:-在最后,例如ps aux | grep code | code chat <提示>

获取工具支持非HTTP网址

我们已经看到,有时模型希望使用非HTTP URL调用Fetch工具,例如文件://URL。与其禁止这些URL,现在Fetch工具支持这些URL,并返回URL所指向的文件或资源的内容。图像也受支持。

更清晰的语言模型访问管理

我们重新设计了管理扩展访问由扩展提供的语言模型的用户体验。之前,您在“账户”菜单中看到一个项目,显示为AccountName (GitHub Copilot Chat),这与GitHub Copilot Chat使用的账户无关。相反,它允许您管理哪些扩展可以访问由Copilot Chat提供的语言模型。

为了更清楚地说明这一点,我们移除了AccountName (GitHub Copilot Chat) 项目,并用一个名为管理语言模型访问...的新项目替换它。这个项目打开一个快速选择菜单,使您能够管理哪些扩展可以访问由GitHub Copilot Chat提供的语言模型。

显示语言模型访问快速选择的截图。

我们认为这样更清晰…… 话虽如此,在未来的版本中,我们将探索对语言模型更细粒度的访问控制(例如,只允许特定模型,而不是允许所有扩展提供的模型),所以请关注这一点。

阅读聊天请求

由于聊天扩展本身是开源的,您现在可以使用我们内部已经使用了一段时间的调试工具之一。要轻松查看 Copilot Chat 生成的所有请求的详细信息,请运行命令“显示聊天调试视图”。这将显示一个树形视图,每个请求都有一个条目。您可以看到发送到模型的完整提示、启用的工具、响应以及其他重要详细信息。您可以通过右键单击 > “导出为...”保存请求日志。

该视图还包含单独的工具调用条目,并且有一个在简单浏览器中打开的提示-tsx调试视图。

🚨 注意:此日志在排除代理行为问题时非常有帮助,如果您在提交有关代理行为的问题时分享此日志,我们将非常感激。但是,此日志可能包含您的文件内容或终端输出的个人信息。在与其他人分享之前,请仔细检查内容。

编辑工具改进

此次发布包括了对GPT-4模型和Sonnet模型的编辑工具的可预测性和可靠性的一些改进。在这个版本中,您应该会看到更可靠的编辑行为,并且我们将在未来的版本中继续改进这些工具。

多路转换器

VS Code 的 MCP 支持已全面推出

我们在过去的几个月里一直在努力扩展 VS Code 的 MCP 支持,并支持规范中的全部 MCP 功能。从本次发布开始,VS Code 的 MCP 支持已经全面可用!

此外,组织现在可以通过 GitHub Copilot 策略控制 MCP 服务器的可用性。了解更多关于 在企业中管理 Copilot 策略和功能 的信息,请参阅 GitHub Copilot 文档。

你可以通过安装我们精选的一些 流行的MCP服务器来开始使用。了解更多关于 在VS Code中使用MCP服务器以及如何使用它们来扩展代理模式的信息。

显示MCP服务器页面的截图。

如果你想构建自己的MCP服务器,请查看我们的MCP开发者指南,以了解如何在VS Code中利用MCP功能的更多细节。

支持需求获取

最新的MCP规范增加了对征求信息的支持,作为MCP服务器向MCP客户端请求输入的一种方式。最新版本的VS Code采用了这一规范,并包括对征求信息的支持。

MCP服务器发现和安装

新的MCP服务器部分在扩展视图中包括欢迎内容,直接链接到我们精选列表中的热门MCP服务器。访问网站以探索可用的MCP服务器,并选择安装在任何MCP服务器上。这将自动启动VS Code并打开MCP服务器编辑器,显示服务器的readme和manifest信息。您可以查看服务器详细信息并选择安装将服务器添加到您的VS Code实例。

一旦安装,MCP服务器会自动出现在你的扩展视图中的MCP SERVERS - INSTALLED部分,并且它们的工具会在聊天视图的工具快速选择中可用。这使得验证你的MCP服务器是否正常工作并立即访问其功能变得非常容易。

MCP服务器管理视图

新的MCP SERVERS - INSTALLED视图在扩展视图中,使监控、配置和控制已安装的MCP服务器变得简单。

截图显示了带有已安装服务器的MCP服务器管理视图。

视图列出已安装的MCP服务器,并通过上下文菜单提供几种管理操作:

截图显示了MCP服务器的上下文菜单操作。

  • 启动服务器 / 停止服务器 / 重启服务器:控制服务器的运行状态
  • 断开连接账户:从服务器中移除账户访问权限
  • 显示输出:查看服务器的输出日志以进行故障排除
  • 显示配置:打开服务器的运行时配置
  • 配置模型访问:管理服务器可以访问哪些语言模型
  • 显示采样请求:查看用于调试的采样请求
  • 浏览资源:探索服务器提供的资源
  • 卸载:从您的 VS Code 实例中移除服务器

当您选择已安装的MCP服务器时,VS Code会打开MCP服务器编辑器,显示服务器的readme详细信息、清单及其运行时配置。这提供了对服务器功能和当前设置的概述,使您易于了解服务器的作用及其配置。

截图显示了带有运行时配置的MCP服务器编辑器。

MCP 服务器 - 已安装视图还提供了一个浏览 MCP 服务器...操作,可直接将您带到社区网站,使服务器发现始终可以从前 VS Code 访问。

显示在MCP服务器视图中浏览MCP服务器操作的截图。

MCP 服务器作为一级资源

MCP服务器现在在VS Code中被视为一等资源,类似于用户任务和其他特定配置文件。这代表了与之前将MCP服务器存储在用户设置中的方法相比,一个重大的架构改进。这个变化使MCP服务器管理更加健壮,并在您的VS Code常规设置和MCP服务器配置之间提供了更好的职责分离。当您安装或配置MCP服务器时,它们会自动存储在适当的配置文件特定位置,以确保您的主要设置文件保持干净和专注。

  • 专用存储:MCP服务器现在存储在专用mcp.json在每个配置文件中保存文件,而不是填充你的用户设置文件
  • 特定于配置文件:每个 VS Code 配置文件维护其 own 一组 MCP 服务器,使您能够为不同的工作流程或项目拥有不同的服务器配置
  • 设置同步集成:MCP服务器通过设置同步无缝跨设备同步,并且可以 granular 控制同步内容

MCP 迁移支持

由于MCP服务器是一级资源,并且其配置相关的更改,VS Code为从以前的MCP服务器配置格式升级的用户提供全面的迁移支持:

  • 自动检测:现有的MCP服务器在settings.json会自动检测并迁移到新的针对特定配置文件的mcp.json格式
  • 实时迁移:当您在用户设置中添加MCP服务器时,VS Code会立即进行迁移,并提供有用的提示来解释此更改
  • 跨平台支持:迁移在所有开发场景中(包括本地、远程、WSL 和 Codespaces 环境)都能无缝进行

此迁移确保您的现有MCP服务器配置在没有人工干预的情况下继续工作,同时提供新架构的增强管理功能。

Dev Container 支持 MCP 配置

开发容器配置devcontainer.json和开发容器功能配置devcontainer-feature.json支持在路径上配置 MCP 服务器定制化.vscode.mcp当创建一个开发容器时,收集到的MCP服务器配置将被写入远程MCP配置文件。mcp.json输入:.

样本devcontainer.json配置Playwright MCP服务器:

{
  "image": "mcr.microsoft.com/devcontainers/typescript-node:latest",

  "定制": {
    "vscode": {
      "mcp": {
        "服务器": {
          "playwright": {
            "命令": "npx",
            "参数": ["@playwright/mcp@最新"]
          }
        }
      }
    }
  }
}

访问MCP资源的命令

为了使与MCP服务器的交互更加便捷,我们添加了帮助您管理和访问MCP配置文件的命令:

  • MCP:打开用户配置 - 直接访问您的用户级mcp.json文件
  • MCP: 打开远程用户配置 - 直接访问您的远程用户级mcp.json文件

这些命令可以快速访问您的MCP配置文件,使您可以轻松地直接查看和管理服务器配置。

快速管理MCP认证

您现在可以在MCP装备菜单和快速选择中登出或断开账户连接。

  • MCP查看齿轮菜单: 截图显示在MCP视图齿轮菜单中显示的断开连接账户操作。

  • MCP编辑器齿轮菜单: 截图显示在MCP编辑器齿轮菜单中显示的断开连接账户操作。

  • MCP 快速选择: 截图显示在MCP快速选择菜单中显示的断开账户操作。

断开连接 操作显示,当该账户被其他 MCP 服务器或扩展使用时,而登出 操作显示,当该账户仅被 MCP 服务器使用时。登出操作将完全从 VS Code 中移除账户,而断开连接仅从 MCP 服务器中移除对该账户的访问。

无障碍

在编辑器内进行的所有编辑

以前,要接受所有编辑,焦点需要在聊天视图中。现在,焦点在编辑器中,你可以运行命令保留所有编辑 (⌥⌘Y (Windows, Linux Ctrl+Alt+Y))。

用户操作所需声音

我们已经调整了可访问性信号,以指示聊天是否需要用户操作,并将默认值设置为自动这样屏幕阅读器用户将听到这个信号。你可以通过配置这个行为来改变。

无障碍信号.聊天用户操作所需
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置。

聊天中出现渲染错误时发出警报

之前,当聊天渲染错误发生时,屏幕阅读器用户不会收到任何警报。现在,用户会收到此信息,并且还可以通过键盘将其聚焦。

代码编辑

中键滚动

设置

编辑器.滚动中键点击
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

只需点击,或按住中间鼠标按钮(滚轮)并移动,即可滚动编辑器。

一旦激活,光标会变成一个平移图标,然后移动鼠标上下滚动以在该方向上平滑滚动编辑器。滚动速度由您从初始点击点移动鼠标的距离决定。松开中间鼠标按钮或再次点击它以停止滚动并返回到标准光标。

已知冲突

启用此功能可能会与其他与中鼠标按钮相关的操作产生冲突。例如,如果您有列选择 (

编辑器.列选择
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
) 已启用,按住中间的鼠标按钮可以选择文本。同样,在 Linux 上,选择剪贴板 (
编辑器选择剪贴板
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
) 当点击中间鼠标按钮时,将从剪贴板粘贴内容。

为了避免这些冲突,请一次只启用其中一个设置。

暂停代码补全

现在,您可以使用新的暂不显示功能,暂时暂停内联建议和下一个编辑建议(NES)。当您想要专注于某项任务,而不受建议的干扰时,这将非常有用。

要暂停建议,请在状态栏中选择 Copilot 仪表板,或从命令面板中运行 暂停内置建议 命令,并从下拉菜单中选择一个持续时间。在暂停期间,将不会出现任何内置建议或 NES。

截图显示了Copilot仪表板,底部有一个“稍后提醒”按钮。

您还可以通过将所需的持续时间作为参数传递给命令来为特定时长快速静音建议,分配一个自定义的键绑定。例如:

{
  "键": "...",
  "命令": "编辑器操作.内联建议.延迟",
  "参数": 10
}

编辑体验

Windows 鲜艳颜色

设置

Windows边框
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

VS Code 在 Windows 上现在支持使用强调色作为Windows框架边框,如果在 Windows 设置中启用该功能(“在标题栏和Windows边框上显示强调色”)。

VS Code Windows的截图,带有红色强调色边框。

新的

Windows边框
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置使您可以控制Windows边框的颜色。使用默认要使用Windows强调色,要禁用边框,或提供特定的颜色值以使用自定义颜色。

注意:只有在相关Windows设置启用时,边框才可见。目前还不能按工作区设置,但我们正在努力支持。

设置搜索建议(预览)

设置

工作台设置显示AI搜索切换按钮
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

这个里程碑,我们在设置编辑器中修改了闪烁切换,使其在AI和非AI搜索结果之间切换。AI设置搜索结果是语义上相似的结果,而不是基于字符串匹配的结果。例如,编辑器.字体大小当你搜索“增加文本大小”时,会显示为一个AI设置搜索结果。

该切换选项仅在有AI结果时启用。我们欢迎关于AI设置搜索未找到预期设置的反馈,并计划在下一次迭代中默认启用该设置。

任务

重新运行所有正在运行的任务

您现在可以使用新的功能快速重新运行所有当前正在运行的任务任务:重新运行所有正在运行的任务命令这对于涉及多个并发任务的工作流很有用,允许您一次重启所有任务,而无需逐个停止和重新运行。

重启任务会重新加载更新的 tasks.json

重新启动任务命令现在会重新加载你的任务.json在重新启动之前,请确保任何最近的更改都会被认可。以前,在重新启动任务时,任务配置更改不会被识别,这可能会导致混淆或任务行为过时。

终端

终端建议(预览)

我们对终端建议功能进行了重大改进。

选择模式

一个新的场景,终端.集成.建议.选择模式,帮助您理解默认情况下,Tab(不是Enter)接受建议。您可以选择部分总是,和从不控制建议选择和接受的方式。

默认值是部分,这意味着Tab接受建议直到发生导航。

截图显示,第一个终端建议可以使用 Tab 键接受。

了解更多

了解更多(kb(工作台.行动.终端.了解更多))在终端中,建议控件的状态栏会在前10次或显示10秒内突出显示。这有助于您了解如何配置、禁用和了解建议控件。

截图显示“了解更多”操作出现在终端建议控制状态栏中。

多命令支持

终端建议现在支持多命令行。你可以用 将命令链接起来。输入:;&&,和其他 shell 操作符,并接收整行命令的建议。

截图显示 VS Code 终端中显示带有 git commit 和 git push 的多命令行,并且终端建议小部件显示了 pull、push 和其他 git 命令的建议。

我们现在在建议详情控件中显示符号链接的绝对路径,并为符号链接文件和文件夹提供了独特的图标,以帮助区分它们与其他建议。

截图显示终端建议显示符号链接的路径 -> 实际路径。

改进的排序

我们在许多方面改进了排序,以确保您首先获得最相关的建议。例如,给予主要大师优先于其他分支。

截图显示终端建议的主分支和主分支与其他分支建议相比。

Git bash 改进

我们现在正确地支持了Git Bash对文件夹和文件的路径补全。此外,我们提取内置命令并将其作为建议呈现。

截图显示了一个Git Bash终端,其中提供了像cat、cp和curl这样的内置函数的建议。

对扩展的贡献

GitHub 拉取请求

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

GitHub Pull Requests扩展与Copilot 编码代理之间的深度集成,使您能够直接从 VS Code 开始、查看和管理编码代理会话。

这些功能需要您的工作区对已启用 Copilot 编码代理的仓库开放。

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

启动编码代理会话(预览)

请通过调用邀请Copilot在后台继续进行本地更改#Copilot编程助手聊天工具。

此工具会自动将待处理的更改推送到远程分支,并根据用户的指示从该分支启动编码代理会话。

截图显示将会话交给 Copilot 编程代理

实验性: 更深的用户界面集成可以通过

github拉取请求.编码代理.用户界面集成
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置。启用后,一个新的 委托给编码代理 按钮会出现在聊天视图中,用于已启用代理的存储库。

状态跟踪

我们已经改进了通知并在我的代编程助手查询中显眼地显示编码代理拉取请求的状态。现在,数字徽章表示有新的更改。

截图显示多个编码代理拉取请求的状态

会话记录

您现在可以直接在 VS Code 中查看编码代理会话的会话日志。这使您能够看到编码代理采取的操作历史记录,包括代码更改和工具使用情况。

显示编码器会话日志的屏幕截图。

增强改进#活跃拉取请求工具

这个#活跃拉取请求工具返回有关拉取请求的信息,例如其标题、描述和状态,以用于聊天,并且现在您还可以使用它来获取编码代理会话信息。

当通过编码代理体验创建拉取请求时,此工具会自动附加到聊天中,因此如果您需要,可以保持上下文并继续处理拉取请求。

Python

Python 环境扩展改进

Python 环境扩展在此次发布中收到了一些改进:

  • 我们已经优化了 Poetry 版本 2.0.0 及以上版本的终端激活支持。
  • 您现在可以使用快速创建环境创建选项,在同一工作区中设置多个唯一命名的虚拟环境。
  • 生成的.venv文件夹现在默认被git忽略
  • 我们改进了环境删除过程

Python 环境作为 Python 扩展的一部分包含在内

我们开始将Python 环境扩展作为 Python 扩展的可选依赖项进行推出。这意味着您现在可能会看到 Python 环境扩展自动安装在 Python 扩展旁边,类似于 Python 调试器和 Pylance 扩展。这种有控制的推出使我们能够收集早期反馈,并在全面发布之前确保可靠性。

Python 环境扩展包括我们迄今为止介绍的所有核心功能,包括:使用 Quick Create 一键设置环境,自动终端激活(通过 "python-envs.terminal.autoActivationType" 设置),以及所有支持的环境和包管理的用户界面

在发布过程中使用Python Environments扩展,请确保已安装该扩展,并在VS Code的settings.json文件中添加以下内容:

"python.useEnvironmentsExtension"

禁用 PyREPL 用于 Python 3.13

我们已禁用 Python 3.13 及以上版本的 PyREPL,以解决交互式终端中的缩进和光标问题。更多详细信息,请参见 禁用 PyREPL >= 3.13

Pylance MCP 工具(实验性)

Pylance扩展现在包括几个实验性的MCP工具,这些工具提供了访问Pylance文档、导入分析、环境管理等的功能。这些工具目前在Pylance的预发布版本中可用,仍处于早期开发阶段。虽然它们提供了新的功能,但我们知道今天直接调用它们可能会有挑战。我们正在积极努力使这些工具更易于使用,并在未来的更新中提供更多的价值。在pylance-release仓库中,我们欢迎您的反馈,以便我们继续改进体验。

GitHub 认证

改进的 GitHub 登录流程

在这一迭代中,我们默认使用回环URL流程,而不是使用一个流程来登录GitHub。vscode://协议 URL。此更改旨在提高登录流程的可靠性,并确保其在所有平台上都能正常工作,包括那些不支持自定义 URL 方案的平台。

当您使用 GitHub 登录时,您现在被重定向到一个看起来像的循环回路 URLhttp://localhost:PORT/这使得登录流程能够在不依赖自定义URL方案的情况下成功完成。也就是说,一旦你进入回环URL,你仍然被重定向到一个vscode://返回 VS Code 的 URL,但是这不需要解析即可成功完成登录流程。

换句话说,我们兼得两者之长:一个在所有平台上都能可靠使用的登录流程,以及一个回归 VS Code 的流程,使用 vscode://URL 方案。

趁此机会,我们还给这个登陆页面重新粉刷了一番。在未来的版本中,我们会将这个新设计应用到其他登录体验中。

截图显示了重新设计的认证登录页面。

扩展编写

允许在使用时打开文件vscode.打开文件夹命令

调用的扩展vscode.打开文件夹命令现在可以通过filesToOpen?: UriComponents[]作为选项来选择在工作区Windows中打开的文件。

示例:

vscode.commands.executeCommand('vscode.openFolder', <folder uri>, { filesToOpen: [ /* 要打开的文件 */]});

提议的API

工程

使用CSS压缩esbuild

VS Code 已经在使用esbuild用于长期捆绑和压缩JavaScript源代码。我们现在也使用esbuild将我们的CSS文件打包和压缩。

严格的分层检查使用tsconfig.json

我们现在使用多个tsconfig.json 文件以确保我们的源代码符合我们的 目标环境规则。我们的 CI 运行 npm 运行 valid-layers-check并且如果例如类型被添加到一个中,将导致构建失败浏览器只存在于该层的节点运行时。

vscode-二分法用于合理测试

这个vscode-二分法项目已经存在很长时间,可以找到 VS Code 版本中的回归问题 (什么git 二分查找吉特)。我们增加了一个新的--理智 选项,使我们能够快速进行合理性检查,在发布新版本之前这是强制性的。

重要修复

谢谢

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

问题跟踪

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

拉取请求

贡献于Visual Studio Code输入:

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

贡献于vscode-json-languageservice输入:

贡献于vscode-拉取请求-GitHub输入:

贡献于vscode-ripgrep输入:

贡献于vscode测试输入:

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

贡献于摩纳哥编辑器输入:

贡献于 ripgrep预编译版输入: