2025 年 6 月(版本 1.102)
发布日期:2025 年 7 月 9 日
更新 1.102.1:此更新修复了以下 问题。
更新 1.102.2:此更新修复了以下 问题。
更新 1.102.3:此更新修复了以下 问题。
下载:Windows:x64 Arm64 | Mac:Universal Intel silicon | Linux:deb rpm tarball Arm snap
欢迎使用 Visual Studio Code 2025 年 6 月版。此版本包含许多我们希望您会喜欢的更新,以下是一些重点内容:
-
聊天
-
MCP
-
编辑器体验
如果您想在线阅读这些发行说明,请访问 code.visualstudio.com 上的更新。Insiders:想尽快尝试新功能吗?您可以下载每晚Insiders版本并尽快尝试最新更新。
聊天
Copilot Chat 现已开源
我们非常高兴地宣布,GitHub Copilot Chat 扩展现已开源!源代码现可在 MIT 许可下访问:microsoft/vscode-copilot-chat。
这是我们致力于透明度和社区协作的一个重要里程碑。通过开源该扩展,我们使社区能够:
- 直接参与 VS Code 中 AI 驱动的聊天体验开发
- 理解聊天模式、自定义指令和 AI 集成的实现方式
- 基于我们的工作构建更优秀的 AI 开发工具
- 参与塑造 AI 辅助编程的未来
您可以浏览该仓库,查看诸如 代理模式、内联聊天 和 MCP 集成 等功能是如何实现的。我们欢迎社区的贡献、反馈和协作。
要了解有关此里程碑以及我们对开源 AI 编辑器工具更广泛愿景的更多信息,请阅读我们的详细博客文章:开源 AI 编辑器 - 首个里程碑。
聊天模式改进
在上一个里程碑中,我们预览了 自定义聊天模式。除了内置的“询问”、“编辑”和“代理”聊天模式外,您还可以定义自己的聊天模式,其中包含特定指令和允许的工具集,供 LLM 在回复请求时遵循。
在这个里程碑中,我们在该领域进行了多项改进和错误修复。
配置语言模型
应广大用户要求,您现在可以指定聊天模式所使用的语言模型。在 chatmode.md 文件中添加 model 元数据属性并提供模型标识符(我们提供模型信息的 IntelliSense 支持)。

改进的编辑支持
用于 聊天模式、提示词 和 指令文件 的编辑器现在支持所有受支持元数据属性的补全、验证和悬停提示。


聊天视图中的齿轮菜单
聊天视图工具栏中的 配置聊天 操作允许您管理自定义模式以及可重用的指令、提示词和工具集。

选择 模式 将显示所有当前安装的自定义模式,并允许您打开、创建新模式或删除现有模式。
通过 vscode 链接导入模式、提示词和指令
您现在可以从外部链接导入聊天模式、可重用提示词和指令文件,例如 Gist 或我们的 awesome-copilot 社区仓库。例如,以下链接将导入 Burke 的 GPT 4.1 Beast 模式的聊天模式文件。
这将提示您选择目标(当前工作区或用户设置),并在从 URL 导入模式文件之前确认名称。
快去尝试 awesome-copilot 上 100 多种社区贡献的指令、提示词和聊天模式吧。
生成自定义指令
为您的项目设置 自定义指令 可以通过提供关于编码标准和项目约定的上下文来显著提高 AI 建议的质量。然而,从零开始创建有效的指令可能具有挑战性。
在这个里程碑中,我们引入了 聊天:生成指令 命令,以帮助您为工作区引导生成自定义指令。从命令面板或聊天视图的“配置”菜单运行此命令,代理模式将分析您的代码库,生成反映您项目结构、技术和模式的量身定制的指令。
该命令会在您的 .github 文件夹中创建 copilot-instructions.md 文件,或建议对现有指令文件进行改进。您可以随后审查并自定义生成的指令,以满足团队的具体需求。
了解更多关于 使用指令自定义 AI 响应 的信息。
按需加载指令文件
指令文件可用于描述编码实践和项目要求。指令可以手动或自动作为聊天请求的上下文包含在内。
目前支持多种机制,请参阅我们文档中的 自定义指令 部分。
对于您希望有条件包含的较大指令,可以使用 .instructions.md 文件,结合 applyTo 头部定义的 Glob 模式。当 Glob 模式匹配聊天上下文中的一个或多个文件时,该文件会自动添加。
此版本的新功能是,大型语言模型可以按需加载指令。每个请求都会获得一份所有指令文件的列表,以及相关的 Glob 模式和描述。在此示例中,LLM 没有明确添加用于 TypeScript 文件的指令,因此它会在创建 TypeScript 文件之前查找代码样式规则。

编辑之前的请求(实验性)
您现在可以点击之前的请求来修改文本内容、附加的上下文、模式和模型。提交此更改后,将移除所有后续请求,撤消所做的任何编辑,并发送新的聊天请求。
我们将对编辑请求的不同入口点进行受控发布,这将有助于我们收集有关首选编辑和撤消流程的反馈。不过,用户可以使用实验性设置 chat.editRequests 来设置其偏好的模式。
- chat.editRequests.inline :悬停在请求上并选择文本,即可在请求内开始内联编辑。
- chat.editRequests.hover :悬停在请求上以显示工具栏,其中包含用于在请求内开始内联编辑的按钮。
- chat.editRequests.input :悬停在请求上以显示工具栏,这将启动聊天底部输入框中的编辑操作。
终端自动批准(实验性)
代理模式现在具有一种在终端中自动批准命令的机制。以下是使用默认设置的演示:
目前有两个设置:允许列表和拒绝列表。允许列表是命令 前缀 或正则表达式的列表,匹配时允许无需显式批准即可运行命令。例如,以下设置将允许任何以 npm run test 开头的命令运行,以及 确切地 匹配 git status 或 git log 的命令。
"github.copilot.chat.agent.terminal.allowList": {
"npm run test": true,
"/^git (status|log)$/": true
}
这些设置会在不同作用域间合并,因此您可以拥有用户批准的命令集,以及特定于工作区的批准命令集。
对于链式命令,我们尝试根据 Shell 检测此类情况,并要求批准所有子命令。例如 foo && bar,我们会检查 foo 和 bar 是否均被允许,只有在这种情况下才会无需批准运行。我们还尝试检测内联命令(如 echo $(pwd)),这会同时检查 echo $(pwd) 和 pwd。
拒绝列表具有与允许列表相同的格式,但它会覆盖允许列表并强制要求批准。目前,如果您在允许列表中有较宽泛的条目,但想阻止其中包含的某些特定命令,这将非常有用。例如,以下设置将允许所有以 npm run 开头的命令,除非它以 npm run danger 开头。
"github.copilot.chat.agent.terminal.allowList": {
"npm run": true
},
"github.copilot.chat.agent.terminal.denyList": {
"npm run danger": true
}
得益于我们从 工作区信任 中获得的针对提示词注入的保护,我们在实现此功能时的安全理念是:在允许列表中包含一小部分无害的命令,并在拒绝列表中包含一些特别危险的命令,以防它们漏网。由于我们仍在考虑默认设置应该是什么,因此允许列表默认是空的,但我们目前考虑的默认设置如下:
- 允许列表:
echo,cd,ls,cat,pwd,Write-Host,Set-Location,Get-ChildItem,Get-Content,Get-Location - 拒绝列表:
rm,rmdir,del,kill,curl,wget,eval,chmod,chown,Remove-Item
我们希望为该功能添加的两个主要部分是:一个更易于向列表添加新命令的 UI 入口点(#253268),以及一个允许 LLM 评估命令安全性的可选选项(#253267)。我们还计划在下个版本中删除这些设置的 github.copilot. 前缀(#253314),并在其成为预览设置之前将其合并(#253472)。
终端命令简化
代理模式有时会为了稳妥起见,希望在运行命令时加入 cd 语句。当检测到该语句匹配当前工作目录时,我们现在会简化运行的命令。

代理对任务和终端的感知
代理模式现在可以理解它创建了哪些后台终端,以及哪些任务正在运行。代理可以使用新的 GetTaskOutput 工具读取任务输出,这有助于防止运行重复任务并改善工作区上下文。

最大化聊天视图
您现在可以将辅助侧边栏最大化以覆盖编辑器区域,并隐藏主侧边栏和面板区域。VS Code 会在重启后记住此状态,并在您打开编辑器或视图时恢复聊天视图。
您可以使用关闭按钮旁边的图标切换最大化状态,或者使用命令面板中的新命令 workbench.action.toggleMaximizedAuxiliaryBar。
代理模式徽章指示器
当窗口未获得焦点且代理需要用户确认才能继续时,我们现在会在 Dock 中的应用程序图标上显示一个徽章。一旦触发该徽章的窗口获得焦点,徽章就会消失。

您可以通过 chat.notifyWindowOnConfirmation 设置来启用或禁用此徽章。
从命令行启动聊天
VS Code CLI 中增加了一个新的子命令 chat,使您能够在当前工作目录中通过提供的提示词启动聊天会话。
基本语法是 code chat [options] [prompt],选项包括:
-m --mode <mode>:聊天会话使用的模式。可选:'ask', 'edit', 'agent' 或自定义模式标识符。默认为 'agent'-a --add-file <path>:将文件作为上下文添加到聊天会话中--maximize:最大化聊天会话视图-r --reuse-window:强制在最后一个活动窗口中使用聊天会话-n --new-window:强制打开一个空窗口进行聊天会话
支持从标准输入 (stdin) 读取,只需在末尾传入 -,例如 ps aux | grep code | code chat <prompt> -
Fetch 工具支持非 HTTP URL
我们发现模型有时希望使用非 HTTP URL(例如 file://)来调用 Fetch 工具。Fetch 工具现在支持这些 URL 并返回文件或资源的内容,同时也支持图片。
更清晰的语言模型访问管理
我们重新设计了关于管理扩展程序访问语言模型的用户体验。此前,账户菜单中会显示一项 AccountName (GitHub Copilot Chat),但这与 Copilot Chat 实际使用的账户无关,而是用于管理哪些扩展程序有权访问由 Copilot Chat 提供的语言模型。
为了更清晰,我们移除了 AccountName (GitHub Copilot Chat) 项,并将其替换为 管理语言模型访问...。此项会打开一个快捷选择框,让您能够管理哪些扩展程序有权访问 GitHub Copilot Chat 提供的语言模型。

我们认为这样更清晰。话虽如此,在未来的版本中,我们将探索更细粒度的访问控制(例如,仅允许特定模型,而不是由扩展提供的“所有”模型)。
读取聊天请求
由于聊天扩展本身是开源的,您现在可以访问我们内部使用已久的调试工具之一。要轻松查看 Copilot Chat 发出的所有请求详细信息,请运行命令“显示聊天调试视图”。这将显示一个包含每个请求条目的树视图。您可以查看发送给模型的完整提示词、启用的工具、响应以及其他关键详细信息。通过右键点击 > “导出为...”,可以保存请求日志。
该视图还包含单独的工具调用条目,以及一个在简单浏览器中打开的 prompt-tsx 调试视图。
🚨 注意:此日志对排查问题非常有帮助,如果您在提交代理行为相关的问题时共享此日志,我们将不胜感激。但该日志可能包含个人信息,例如您的文件内容或终端输出。在与其他任何人分享之前,请仔细查看内容。
编辑工具改进
此版本对 GPT-4 和 Sonnet 模型使用的编辑工具的可预测性和可靠性进行了多项更改。您应该会在此版本中看到更可靠的编辑行为,我们将在未来版本中继续改进这些工具。
MCP
VS Code 中的 MCP 支持正式可用
在过去几个月中,我们一直在致力于扩展 VS Code 中的 MCP 支持,并 支持规范中所有的 MCP 功能。截至本版本,MCP 支持现已在 VS Code 中正式可用!
此外,组织现在可以通过 GitHub Copilot 策略控制 MCP 服务器的可用性。请在 GitHub Copilot 文档中了解更多关于 管理企业级 Copilot 策略和功能 的信息。
您可以通过安装 我们精心策划的热门 MCP 服务器列表 中的部分服务器开始使用。了解更多关于 在 VS Code 中使用 MCP 服务器 以及如何利用它们来扩展代理模式的信息。

如果您想构建自己的 MCP 服务器,请查看我们的 MCP 开发者指南,获取有关如何利用 VS Code 中 MCP 功能的更多详细信息。
支持 Elicitations(诱导提示)
最新的 MCP 规范增加了对 Elicitations 的支持,作为 MCP 服务器向 MCP 客户端请求输入的一种方式。VS Code 的最新版本采用了该规范并包含了对此的支持。
MCP 服务器发现与安装
扩展视图中新增的 MCP 服务器 部分包含欢迎内容,直接链接到 我们精选的热门 MCP 服务器。访问该网站浏览可用的 MCP 服务器,并选择 安装。这将自动启动 VS Code 并打开 MCP 服务器编辑器,显示服务器的自述文件和清单信息。您可以审查详细信息并选择 安装,将服务器添加到您的 VS Code 实例中。
安装后,MCP 服务器将自动出现在扩展视图的 MCP 服务器 - 已安装 部分,其工具也可在聊天视图的工具快捷选择框中使用。这使得验证 MCP 服务器是否正常工作并立即使用其功能变得更加容易。
MCP 服务器管理视图
扩展视图中新增的 MCP 服务器 - 已安装 视图可以轻松监控、配置和控制已安装的 MCP 服务器。

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

- 启动服务器 / 停止服务器 / 重启服务器:控制服务器的运行状态
- 断开账户连接:移除服务器的账户访问权限
- 显示输出:查看服务器输出日志以进行故障排除
- 显示配置:打开服务器的运行时配置
- 配置模型访问:管理服务器可以访问哪些语言模型
- 显示采样请求:查看用于调试的采样请求
- 浏览资源:探索服务器提供的资源
- 卸载:从 VS Code 实例中移除服务器
选择已安装的 MCP 服务器时,VS Code 会打开 MCP 服务器编辑器,显示服务器的自述文件、清单及其运行时配置。这提供了服务器功能和当前设置的概览,让您能轻松理解服务器的作用及其配置方式。

MCP 服务器 - 已安装 视图还提供 浏览 MCP 服务器... 操作,直接跳转至社区网站,使 MCP 服务器发现始终在 VS Code 内部触手可及。

MCP 服务器作为一等资源
MCP 服务器现在被视为 VS Code 中的一等资源,类似于用户任务和其他配置文件特定的配置。这相比以往将 MCP 服务器存储在用户设置中的方式,是一个重大的架构改进。这一变更使 MCP 服务器管理更加稳健,并提供了通用 VS Code 设置与 MCP 服务器配置之间的更好分离。安装或配置 MCP 服务器时,它们会自动存储在相应的 配置文件 指定位置,确保主设置文件保持整洁且聚焦。
- 专用存储:MCP 服务器现在存储在每个配置文件内的
mcp.json文件中,不再占用您的用户设置文件 - 配置文件特定:每个 VS Code 配置文件维护自己的一套 MCP 服务器,使您能够为不同的工作流或项目使用不同的服务器配置
- 设置同步集成:MCP 服务器通过 设置同步 在您的设备间无缝同步,并支持对同步内容进行精细控制
MCP 迁移支持
随着 MCP 服务器成为一等资源及其配置方式的变化,VS Code 为从旧版 MCP 配置格式升级的用户提供了全面的迁移支持
- 自动检测:自动检测
settings.json中的现有 MCP 服务器,并将其迁移至新的配置文件特定mcp.json格式 - 实时迁移:当您向用户设置添加 MCP 服务器时,VS Code 会立即将其迁移,并提供解释变更的通知
- 跨平台支持:迁移在所有开发场景中均可无缝工作,包括本地、远程、WSL 和 Codespaces 环境
此迁移确保您现有的 MCP 服务器配置在无需任何人工干预的情况下继续工作,同时提供新架构带来的增强管理功能。
Dev Container 对 MCP 配置的支持
Dev Container 配置 devcontainer.json 和 Dev Container 功能配置 devcontainer-feature.json 支持在 customizations.vscode.mcp 路径下配置 MCP 服务器。创建 Dev Container 时,收集的 MCP 服务器配置会被写入远程 MCP 配置文件 mcp.json。
配置 Playwright MCP 服务器的 devcontainer.json 示例
{
"image": "mcr.microsoft.com/devcontainers/typescript-node:latest",
"customizations": {
"vscode": {
"mcp": {
"servers": {
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest"]
}
}
}
}
}
}
访问 MCP 资源的命令
为了使 MCP 服务器的操作更加便捷,我们增加了帮助您管理和访问 MCP 配置文件的命令:
- MCP: 打开用户配置 - 直接访问您的用户级
mcp.json文件 - MCP: 打开远程用户配置 - 直接访问您的远程用户级
mcp.json文件
这些命令提供对 MCP 配置文件的快速访问,方便您直接查看和管理服务器配置。
快速管理 MCP 身份验证
您现在可以从 MCP 齿轮菜单和快捷选择框中退出登录或断开账户连接。
-
MCP 视图齿轮菜单:

-
MCP 编辑器齿轮菜单:

-
MCP 快捷选择框:

当该账户被其他 MCP 服务器或扩展使用时,会显示 断开连接 操作;当该账户仅被该 MCP 服务器使用时,显示 退出登录。退出登录操作会完全从 VS Code 中移除该账户,而断开连接仅移除该 MCP 服务器对账户的访问权限。
辅助功能
保留编辑器内的所有编辑
以前,要接受所有编辑,需要将焦点放在聊天视图中。现在,焦点在编辑器中时,您也可以运行 保留所有编辑 命令(⌥⌘Y (Windows, Linux Ctrl+Alt+Y))。
用户操作所需声音提示
我们微调了可访问性信号,用于指示聊天何时需要用户操作,并将默认值设置为 auto,以便屏幕阅读器用户能够听到此信号。您可以通过 accessibility.signals.chatUserActionRequired 设置来配置此行为。
聊天渲染错误警报
此前,屏幕阅读器用户在聊天渲染错误发生时不会收到警报。现在,用户会被告知此类信息,并且可以通过键盘聚焦该错误。
代码编辑
通过中键滚动
设置: editor.scrollOnMiddleClick
只需点击或按住鼠标中键(滚轮)并移动,即可滚动编辑器。
激活后,光标会变为平移图标,上下移动鼠标即可在该方向上平滑滚动编辑器。滚动速度取决于鼠标距离初始点击点的距离。松开鼠标中键或再次点击即可停止滚动并返回标准光标。
已知冲突
启用此功能可能会干扰绑定到鼠标中键的其他操作。例如,如果启用了列选择( editor.columnSelection ),按住鼠标中键将选择文本。同样,在 Linux 上,选择剪贴板( editor.selectionClipboard )在点击鼠标中键时会粘贴剪贴板内容。
为避免冲突,请一次只启用其中一个设置。
暂停代码补全
您现在可以使用新的 暂停 (Snooze) 功能暂时停止内联建议和下一次编辑建议 (NES)。当您想要专注于工作而不受建议打扰时,这非常有用。
要暂停建议,请选择状态栏中的 Copilot 仪表板,或从命令面板运行 暂停内联建议 命令,并从下拉菜单中选择持续时间。在暂停期间,不会出现内联建议或 NES。

您还可以分配自定义键绑定,通过将所需持续时间作为参数传递给命令来快速暂停建议。
{
"key": "...",
"command": "editor.action.inlineSuggest.snooze",
"args": 10
}
编辑器体验
Windows 强调色
设置: window.border
Windows 上的 VS Code 现在支持在 Windows 设置中启用(“在标题栏和窗口边框上显示强调色”)时,使用强调色作为窗口边框。

新的 window.border 设置使您能够控制窗口边框颜色。使用 default 可使用 Windows 强调色,off 可禁用边框,或者提供特定的颜色值以使用自定义颜色。
注意:边框仅在启用了相关 Windows 设置时才可见。目前还不能按工作区进行设置,但我们正在开发该支持。
设置搜索建议(预览)
设置: workbench.settings.showAISearchToggle
在此里程碑中,我们修改了设置编辑器中的“闪烁”切换开关,使其成为 AI 搜索结果与非 AI 搜索结果之间的切换按钮。AI 设置搜索结果是语义相似的结果,而不是基于字符串匹配的结果。例如,当您搜索“增大文本大小”时,editor.fontSize 会作为 AI 设置搜索结果出现。
仅当有可用 AI 结果时,才会启用此切换。我们欢迎对 AI 设置搜索未找到预期设置的情况提供反馈,并计划在下个迭代中默认启用该设置。
任务
重新运行所有正在运行的任务
您现在可以使用新的 Tasks: Rerun All Running Tasks 命令快速重新运行所有当前正在运行的任务。这对于涉及多个并发任务的工作流非常有用,允许您一次性重启它们,而无需逐个停止并重新运行。
重启任务会重新加载 updated tasks.json
重启任务 命令现在会在重启前重新加载您的 tasks.json,确保应用最近的更改。此前,重启任务时不会获取任务配置的更改,这可能导致混淆或过时的任务行为。
终端
终端建议(预览)
我们对终端建议功能进行了重大改进。
选择模式
新设置 terminal.integrated.suggest.selectionMode 可以帮助您理解默认情况下使用 Tab(而非 Enter)来接受建议。您可以选择 partial、always 和 never 模式来控制建议的选择和接受方式。
默认值为 partial,意味着在发生导航之前,按 Tab 会接受建议。

了解更多
终端建议控件状态栏中的 了解更多 操作 (kb(workbench.action.terminal.suggestLearnMore)) 现在会在前 10 次使用或控件显示 10 秒时高亮显示。这有助于您发现如何配置、禁用和了解建议控件。

多命令支持
终端建议现在支持多命令行。您可以使用 ;、&& 和其他 Shell 操作符连接命令,并接收该行上所有命令的建议。

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

改进的排序
我们通过多种方式改进了排序,确保最相关的建议优先显示。例如,优先显示 main 和 master 分支。

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

对扩展的贡献
GitHub 拉取请求
在 GitHub Pull Requests 扩展方面取得了更多进展,该扩展使你能够处理、创建和管理拉取请求和问题。
GitHub Pull Requests 扩展与 Copilot 编码代理 之间建立了更深度的集成,允许您直接从 VS Code 启动、查看和管理编码代理会话。
这些功能要求您的工作区打开的是一个已启用 Copilot 编码代理 的仓库。
请查阅扩展的 0.114.0 版本更新日志 以了解该版本的所有内容。
启动编码代理会话(预览)
通过在聊天中调用 #copilotCodingAgent 工具,要求 Copilot 在后台继续进行本地更改。
该工具会自动将待处理的更改推送到远程分支,并根据该分支以及用户的指令发起编码代理会话。

实验性: 更深度的 UI 集成可以通过 githubPullRequests.codingAgent.uiIntegration 设置启用。启用后,对于已启用代理的仓库,聊天视图中会出现一个新的 委派给编码代理 按钮。
状态跟踪
我们在 Copilot on my behalf 查询中进行了改进,以通知并突出显示编码代理拉取请求的状态。数字徽章现在指示新的更改。

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

#activePullRequest 工具的增强
#activePullRequest 工具返回有关拉取请求的信息(如标题、描述和状态),以便在聊天中使用;现在您还可以使用它获取编码代理会话信息。
当打开通过编码代理体验创建的拉取请求时,此工具会自动附加到聊天中,因此您可以保持上下文并在需要时继续处理拉取请求。
Python
Python 环境扩展改进
Python 环境扩展 在此版本中得到了多项改进
- 我们完善了对 Poetry 2.0.0 以上版本的终端激活支持
- 您现在可以使用“快速创建”环境选项在同一工作区中设置多个具有唯一名称的虚拟环境
- 生成的
.venv文件夹现在默认被 Git 忽略 - 我们改进了环境删除过程
Python 环境现作为 Python 扩展的一部分包含
我们开始将 Python 环境扩展 作为 Python 扩展的可选依赖项进行推广。这意味着您现在可能会看到 Python 环境扩展与 Python 扩展一起自动安装,类似于 Python 调试器和 Pylance 扩展。这种受控的推广使我们能够在正式发布前收集早期反馈并确保可靠性。
Python 环境扩展包含我们目前推出的所有核心功能,包括:使用“快速创建”进行一键环境设置、自动终端激活(通过 "python-envs.terminal.autoActivationType" 设置)以及所有支持的 环境和包管理 UI。
要在推广期间使用 Python 环境扩展,请确保已安装该扩展并将以下内容添加到您的 VS Code settings.json 文件中
"python.useEnvironmentsExtension": true
禁用 Python 3.13 的 PyREPL
我们已针对 Python 3.13 及以上版本禁用了 PyREPL,以解决交互式终端中的缩进和光标问题。有关更多详细信息,请参阅 Disable PyREPL for >= 3.13。
Pylance MCP 工具(实验性)
Pylance 扩展 现在包含几个实验性的 MCP 工具,它们提供对 Pylance 文档、导入分析、环境管理等的访问。这些工具目前仅在 Pylance 预发布版本中提供,且仍处于早期开发阶段。尽管它们带来了新功能,但我们知道直接调用它们目前可能具有挑战性。我们正在积极努力使这些工具更易于使用,并在未来的更新中发挥更大价值。欢迎在 pylance-release 仓库中反馈,以便我们持续改进。
GitHub 身份验证
改进的 GitHub 登录流程
在此迭代中,我们改进了 GitHub 登录流程,默认采用回环 URL 流程,而不是使用 vscode:// 协议 URL 的流程。此变更旨在提高登录流程的可靠性,并确保其在所有平台上都能工作,包括那些不支持自定义 URL 方案的平台。
使用 GitHub 登录时,您现在会被重定向到类似 https://:PORT/ 的回环 URL。这使得登录流程能够顺利完成,而无需依赖自定义 URL 方案。尽管如此,进入回环 URL 后,您仍会被重定向到 vscode:// URL 以返回 VS Code,但这不需要解析也能顺利完成登录流程。
换句话说,我们兼得二者之长:一种可在所有平台上运行的可靠登录流程,以及返回 VS Code 时使用的 vscode:// URL 方案。
同时,我们也为这个 着陆页换上了新面貌。在未来的迭代中,我们将把这种新设计应用于其他登录体验。

扩展开发
允许在使用 vscode.openFolder 命令时打开文件
调用 vscode.openFolder 命令的扩展现在可以传递 filesToOpen?: UriComponents[] 作为选项,以选择要在打开的工作区窗口中打开的文件。
示例
vscode.commands.executeCommand('vscode.openFolder', <folder uri>, { filesToOpen: [ /* files to open */]});
提议的 API
工程
使用 esbuild 进行 CSS 压缩
VS Code 很长一段时间以来一直使用 esbuild 来捆绑和压缩 JavaScript 源代码。我们现在也使用 esbuild 来捆绑和压缩我们的 CSS 文件。
使用 tsconfig.json 进行严格的层检查
我们现在使用多个 tsconfig.json 文件,以确保我们的源代码遵守我们的 目标环境规则。我们的 CI 运行 npm run valid-layers-check,如果例如在仅存在于 node 运行时的 browser 层中添加了类型,构建将会失败。
用于健全性测试的 vscode-bisect
vscode-bisect 项目存在已久,允许查找 VS Code 构建中的回归(类似于 git 的 git bisect)。我们添加了一个新的 --sanity 选项,允许我们快速进行我们在发布新构建前必须进行的 健全性检查。
值得注意的修复
- vscode-copilot-release#6073 - 代理不应在 Windows PowerShell 中建议
&&
感谢
最后但同样重要的是,向 VS Code 的贡献者们致以衷心的感谢。
问题跟踪
对我们问题跟踪的贡献
- @albertosantini (Alberto Santini)
- @gjsjohnmurray (John Murray)
- @RedCMD (RedCMD)
- @IllusionMH (Andrii Dieiev)
- @tamuratak (Takashi Tamura)
拉取请求
对 vscode 的贡献
- @a-stewart (Anthony Stewart):修复 asyncDataTree.test.ts 中的类型定义 PR #209394
- @charles7668 (charles):修复 #215925 PR #219321
- @chengluyu (Luyu Cheng):将
font-variation-settings应用于建议小部件(修复 #199954) PR #200000 - @DrSergei:改进调试适配器功能检查 PR #250779
- @emmanuel-ferdman (Emmanuel Ferdman):修复 launch.json 引用 PR #250187
- @Enzo-Nunes (Enzo Nunes):修复 Makefile 的行注释操作(修复 #234464) PR #243283
- @Gallaecio (Adrián Chaves):修复拼写错误 (an language model call → a language model call) PR #252202
- @ghLcd9dG (Liu):更新 copyFiles.ts PR #250773
- @heoh (HeoHeo):修复 Markdown 预览在 EOF 处滚动的问题(修复 #249278) PR #251228
- @hyrious (hyrious):修复:远程内置扩展翻译缺失 PR #249430
- @jeanp413 (Jean Pierre)
- 在内置扩展中不检查 navigator 以检测 Web 环境 PR #251688
- 修复重命名自定义编辑器时“Assertion Failed: Argument is undefined or null”的问题 PR #252071
- @JJJJJJ-git:修复 ChatService 撤消错误 PR #253478
- @liuxingbaoyu:修复:PowerShell 在用户名包含 Unicode 时无法工作 PR #251534
- @matthew-godin:修复 patternIndices 拼写错误 PR #250085
- @mohiuddin-khan-shiam (S. M. Mohiuddin Khan Shiam):修复 version_manager.rs 中错误的 SHA-1 提交正则 PR #251329
- @notoriousmango (Seong Min Park)
- feat: 向 Webview 主题添加字体连字 PR #250998
- feat: 为上次运行失败的测试添加重新运行和调试操作 PR #251679
- @raffaeu (Raffaele Garofalo):重构编辑器粘性滚动 PR #248131
- @RedCMD (RedCMD)
- 调试扩展时禁用
installation folder横幅警告 PR #244305 - TypeScript 限制注释正文内的 Comment onEnterRules PR #251692
- 调试扩展时禁用
- @ssigwart (Stephen Sigwart):更新 PHP、JS 和 TS 的缩进 PR #251465
- @Sublimeful (Jian Qiang Wu):实现无终端时的 Terminal: Run Recent Command PR #250799
- @tmm1 (Aman Karmani):[工程] 移除对 Swc 转译的无效引用 PR #252375
- @UziTech (Tony Brix):feat: 添加中键滚动功能 PR #245882
- @yiliang114 (易良):修复 #250737,Notebook findWidget 中匹配计数结果溢出 PR #250738
对 vscode-copilot-chat 的贡献
- @caohy1988 (Hai-Yuan Cao):更新代理模式的摘要提示词 PR #13
- @CharlesCNorton:更新 README.md PR #54
- @gmacario (Gianpaolo Macario):docs(CONTRIBUTING):同步目录 PR #79
- @moonboxing (ASSEMAR MOHAMED):在 pylint 移除后更新 devcontainer-lock PR #76
对 vscode-json-languageservice 的贡献
- @aedenmurray (Aeden Murray):feat: 通知无效的 RegExp 模式 PR #261
对 vscode-pull-request-github 的贡献
- @dyhagho (Dyhagho Briceño):fix:设置
github-enterprise.uri时允许 Github.com 认证 PR #7002
对 vscode-ripgrep 的贡献
- @benz0li (Olivier Benz):添加 linux riscv64 目标 PR #73
- @Vector341:修复无效下载崩溃安装 PR #66
对 vscode-test 的贡献
- @coliff (Christian Oliff):更新 .npmignore PR #312
对 language-server-protocol 的贡献
- @billybonks (Sebastien Stettler):fix:提高注释可读性 PR #2155
- @rcjsuen (Remy Suen):将 Docker 语言服务器添加到列表中 PR #2153
- @yangdanny97 (Danny Yang):将 Pyrefly 添加到语言服务器列表 PR #2160
对 monaco-editor 的贡献
- @Ho1yShif (Shifra Williams):添加 snowflake sql 关键字 PR #4915
对 ripgrep-prebuilt 的贡献