2026年2月 (版本 1.110)
发布日期:2026年3月4日
下载:Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap
欢迎来到 Visual Studio Code 2026年2月版。此版本使智能体(Agent)能够胜任运行时间更长、更复杂的任务,为你提供更强的控制力和可见性、扩展智能体的新方式,以及更智能的会话管理。
-
智能体插件:通过“扩展”视图安装预打包的技能、工具和钩子(Hooks)组合
-
智能体浏览器工具:让智能体驱动浏览器与应用交互并验证其自身的更改
-
会话记忆:在多轮对话中持久化计划和指导
-
上下文压缩:手动压缩对话历史以释放上下文空间
-
派生聊天会话:创建一个继承对话历史的新独立会话,以探索替代方案
-
智能体调试面板:实时查看智能体事件、工具调用和加载的自定义配置
-
聊天辅助功能:通过屏幕阅读器改进、键盘导航和通知信号充分利用聊天功能
-
从聊天创建智能体自定义:直接从对话中生成提示词、技能、智能体和钩子
-
Kitty 图形协议:直接在集成终端中渲染高保真图像
编码愉快!
如果您想在线阅读这些发行说明,请访问 code.visualstudio.com 上的更新页面。
Insiders:想尽快尝试新功能?
您可以下载每晚的 Insiders 构建版本,并尽快尝试最新更新。
下载 Insiders
智能体控制
无论你是正在调试智能体行为、调整审批流,还是将工作交给后台进程,这些更新都能让你对智能体的运行方式拥有更强的可见性和控制力。
后台代理
通过后台智能体,你可以将任务交给 Copilot CLI,同时仍在 VS Code 中对其进行跟踪。我们进行了多项改进,使后台智能体的功能和体验与本地及云端智能体保持一致。
-
上下文压缩:当上下文窗口达到限制时,Copilot 会自动压缩对话历史。你现在还可以通过
/compact斜杠命令手动触发后台智能体的压缩。 -
使用斜杠命令:聊天自定义选项(如提示词文件、钩子和技能)现在也可以在后台智能体会话中作为斜杠命令使用。

-
重命名后台智能体会话:你现在可以重命名后台智能体会话,以便更轻松地跟踪它们。

Claude 智能体
上个月,我们添加了 Claude 智能体,使你能够使用 GitHub Copilot 订阅中包含的 Claude 模型与 Claude Agent SDK 进行交互。
本月,我们通过新功能和改进扩展了这一体验:
-
引导与排队(Steering and queuing):让你能在对话中途发送后续消息,以改变智能体的方案或排队添加更多请求。
-
会话重命名

-
带有压缩功能的上下文窗口渲染

-
新增斜杠命令
/compact用于按需压缩/agents用于管理自定义智能体/hooks用于管理 Claude 钩子
-
添加
getDiagnostics工具:让智能体访问编辑器和工作区的诊断问题 -
显著的性能提升
计划进行更多改进。请在 GitHub 上分享你的反馈!
智能体调试面板(预览版)
由于存在钩子、技能和自定义智能体等不同的自定义设置,有时很难理解向智能体发送消息后会发生什么。智能体调试面板可让你更深入地了解聊天会话以及聊天自定义项的加载方式。
智能体调试面板会实时显示聊天事件,包括聊天自定义事件、系统提示词、工具调用等。你可以准确看到为会话加载了哪些提示词文件、技能、钩子和其他自定义项,从而更容易理解和排除智能体配置故障。这取代了旧的诊断(Diagnostics)聊天操作,提供了更丰富、更详细的视图。

从命令面板运行 Developer: Open Agent Debug Panel 打开该面板,或选择聊天视图顶部的齿轮图标并选择 View Agent Logs。
该面板还包括图表视图,显示事件的视觉层级结构,以便你快速了解聊天会话期间发生的结构和顺序。

此体验仍处于预览阶段,欢迎试用并分享反馈!
注意:智能体调试面板目前仅适用于本地聊天会话。日志数据不会持久化,因此你只能查看当前 VS Code 会话中聊天会话的日志。
用于启用自动审批的斜杠命令
你现在可以直接在聊天输入框中使用斜杠命令切换全局自动审批,无需导航至设置。
/autoApprove为所有工具启用全局自动审批/disableAutoApprove禁用全局自动审批
/yolo 和 /disableYolo 是相同命令的别名。
注意:全局自动审批会跳过所有工具确认提示,让智能体运行工具和终端命令而无需等待你的批准。这可以加快较长的多步骤任务,但也意味着你将没有机会取消潜在的破坏性操作。在启用前,请确保你了解其安全性影响,并考虑使用终端沙箱进行额外保护。
编辑(Edit)和提问(Ask)模式更改
设置:
随着智能体的发展,智能体模式现在可以处理编辑模式能做的所有事情甚至更多,且具有更好的性能和可靠性。编辑模式现在默认从智能体选择器中隐藏,因此用户无需在不同选项间做选择即可享受最强大的模式。你可以通过禁用以下设置将其找回:
提问模式现在由自定义智能体定义支持,提供完全的智能体化体验。这解决了之前的限制,例如在提问和智能体模式之间切换时需要启动新会话。
这两项更改展示了如何自定义你自己的智能体。如果你更喜欢编辑模式或想要自己版本的提问模式,可以通过定义其工具、提示词和语言模型来创建符合需求的自定义智能体。当你禁用 时
在自定义智能体文档中了解如何创建自定义智能体。
提问工具(Ask questions tool)
askQuestions 工具(在聊天交互期间呈现问题轮播 UI)已移至 VS Code 核心。这提高了取消请求时的可靠性,并使该工具在不同上下文(包括子智能体)中能够一致地工作。

当轮播处于活动状态时,你现在可以发送引导消息,而无需先回复或关闭待处理的问题。这允许你随时重定向智能体的响应,即使在问题序列中间也是如此。使用键盘在问题之间导航:⌥N (Windows , Linux Alt+N)(下一个)和 ⌥P (Windows , Linux Alt+P)(上一个)。
防止聊天期间自动休眠
VS Code 现在会请求操作系统在聊天请求运行时不要自动休眠。你可以暂时离开电脑,而不必担心智能体的响应中断。
请注意,在未插电的笔记本电脑上合上盖子仍会触发休眠。
智能体扩展性
智能体的作用取决于你赋予它们的工具和自定义设置。此版本使扩展智能体功能变得更加容易,包括可安装的插件包、浏览器自动化和新的代码感知工具。
智能体插件(实验性)
设置:
VS Code 现在支持智能体插件,即预打包的聊天自定义束。插件可以包含技能、命令、智能体、MCP 服务器和钩子。
你可以直接从 VS Code 的“扩展”视图中搜索并安装智能体插件。在搜索框中输入 @agentPlugins,或从命令面板运行 Chat: Plugins 命令。

默认情况下,VS Code 会从 copilot-plugins 和 awesome-copilot 仓库获取插件。你可以通过以下设置配置更多来源:
- chat.plugins.marketplaces:通过指定 GitHub 或纯 git 仓库添加额外的插件市场。该设置还支持 Claude 风格的市场,如
anthropics/claude-code。 - chat.plugins.paths:通过指定路径并启用或禁用它们来注册本地插件目录。
在智能体插件文档中了解更多信息。
智能体浏览器工具(实验性)
设置:
在上一版本中,我们在 VS Code 桌面版中添加了新的集成浏览器,让你能直接在编辑器中与网页交互。但如果你的智能体可以自主使用该浏览器,并在构建网站时验证对其所做的更改呢?
在此版本中,我们为智能体添加了一组读取和操作集成浏览器的工具。当智能体与页面交互时,它能看到页面内容的更新以及控制台中的任何错误和警告。这些工具开箱即用,无需安装额外依赖。
- 页面导航:
openBrowserPage,navigatePage - 页面内容与外观:
readPage,screenshotPage - 用户交互:
clickElement,hoverElement,dragElement,typeInPage,handleDialog - 自定义浏览器自动化:
runPlaywrightCode
这些工具赋予了智能体同时编写和验证 Web 应用的能力,闭环了智能体的开发流程。
默认情况下,智能体打开的页面在私有的内存会话中运行。这让你能控制智能体可访问的浏览数据。要让智能体在集成浏览器中访问特定网页,你可以显式地与智能体共享该页面,以提供临时访问权限和任何已保存的数据。
要尝试这些新工具,请启用
从 浏览器智能体测试指南 的分步教程开始。
从聊天创建智能体自定义
你现在可以在智能体模式下使用新的 /create-* 斜杠命令,直接从聊天对话中生成智能体自定义文件:
/create-prompt:生成可复用的提示词(prompt)文件/create-instruction:为项目规范生成指令(instruction)文件/create-skill:将多步工作流提取到技能(skill)包中/create-agent:创建一个专门的自定义智能体角色/create-hook:为生命周期自动化创建钩子(hook)配置
每个命令都会引导你完成创建过程,并让你选择是在用户级别(全账号)还是工作区级别(项目专用)进行存储。
这些命令还可以从正在进行的对话中提取模式。例如,在经过几轮调试后,使用 /create-skill 将该过程捕获为可复用技能,或使用 /create-instruction 将修正转化为项目规范。
你不需要记住准确的斜杠命令。你也可以使用自然语言,例如“将此工作流保存为技能”或“从中提取一条指令”,智能体会识别你的意图并启动正确的创建流程。
相同的生成选项也可在提示词、指令、技能和智能体的快速选择菜单中使用,并带有闪烁图标。
用于引用项(Usages)和重命名的工具
我们更新了 usages 工具,并添加了 rename 工具。这些工具复用了现有的扩展或 LSP 功能,允许智能体以高精度和最佳性能导航及重构代码。
智能体应该会自动采用这些新工具。然而,我们发现智能体有强烈倾向使用 grep,而 grep 在这种场景下表现较差。你可以通过显式地使用 # 提及工具名称来帮助智能体,例如 Use #rename and change the name of fib to fibonacci,或者通过设置 SKILL.md 文件。

更智能的会话
当智能体记住上下文、高效分配调研任务并保持行内编辑同步时,长期运行和多轮任务的效果会更好。这些改进使会话更具弹性且具备上下文感知能力。
计划的会话记忆
由计划智能体(Plan agent)创建的计划现在会持久化到会话记忆中,并在不同对话轮次间保持可用。当你要求微调时,智能体会基于现有计划进行构建,而不是从头开始。
该计划在同一会话的无关消息之后也能被找回,因此你可以返回计划而无需重复上下文。在较长的实施工作中,即使较旧的对话历史被压缩以释放上下文空间,计划在记忆中仍然可访问。
上下文压缩
随着对话的增长,累积的消息和上下文可能会填满模型的上下文窗口。上下文压缩会总结对话历史以释放空间,这样你就可以在同一会话中继续工作,而不会丢失重要细节。
当上下文窗口达到限制时,VS Code 会自动压缩对话,但你也可以手动触发压缩。手动压缩适用于本地、后台和 Claude 智能体会话。要手动压缩,请使用以下方法之一:
-
在聊天输入字段中输入
/compact。可选地,在命令后添加自定义指令来引导摘要生成,例如/compact focus on the database schema decisions。 -
选择聊天输入框中的上下文窗口控件,然后选择 Compact Conversation。

在文档中了解更多关于上下文压缩的信息。
使用 Explore 子智能体进行代码库搜索
设置:
计划智能体现在总是将代码库调研委托给专门的 Explore 子智能体。Explore 是一个只读智能体,仅使用搜索和文件读取工具,专注于快速、并行的代码库探索。通过将调研任务卸载给 Explore,计划智能体可以生成引用你工作区中特定文件和代码路径的计划。
Explore 默认运行在快速模型上(Claude Haiku 4.5, Gemini 3 Flash)以保持调研效率,而计划智能体使用完整模型进行规划。你可以使用
注意:Explore 不能作为独立智能体直接调用。它仅作为按需使用的子智能体可用。
行内聊天和聊天会话
当智能体会话已经更改了某个文件时,行内聊天现在总是将新消息排入该会话,而不是孤立地进行更改。这确保了使用完整的上下文,在审查智能体编辑时也非常有用。
派生聊天会话
你现在可以派生(fork)一个聊天会话,以创建一个继承自原始会话对话历史的新独立会话。这在你想要探索另一种方案、询问次要问题或在不丢失原始上下文的情况下将长对话引向不同方向时非常有用。
有两种派生会话的方法:
- 派生整个会话:在聊天输入框中输入
/fork以创建具有完整对话历史的新会话。 - 从检查点派生:悬停在任何聊天请求上并选择 Fork Conversation,以创建一个仅包含到该点为止的对话的新会话。

派生的会话是完全独立的——一个会话中的更改不会影响另一个会话。了解更多关于派生聊天会话的信息。
聊天体验
聊天界面的微小改进积少成多:更整洁的模型选择器、减少工具输出造成的视觉干扰,以及当你专注在另一个文件时也能传达到的通知。
重新设计的模型选择器
我们重新设计了语言模型下拉列表,以改进为任务选择合适模型的过程。新的下拉列表将模型组织为清晰的区块:
- Auto(自动)始终显示在列表顶部。
- 接下来是推荐和最近使用的模型。最多显示四个最近使用的模型,以及为你的账户精选的推荐模型。随着你的使用,模型会自动移入此区块。
- Other models(其他模型)是一个可折叠的分组,包含剩余的可用模型。展开它还可以在底部看到 Manage Models 选项。
- 搜索框可让你按名称快速过滤模型。
每个模型条目都有丰富的悬停提示,显示能力和上下文窗口大小等细节。你当前 GitHub Copilot 方案中不可用的模型也会显示,但无法选择。
通过上下文提示发现功能(实验性)
设置:
VS Code 现在会在聊天视图中显示上下文提示,帮助你发现功能并充分利用 AI 编程体验。提示在你启动新聊天会话时出现,并根据你的使用模式量身定制。为了避免干扰,仅建议你尚未尝试过的功能,使其具有相关性和可操作性。

提示涵盖多种能力,包括:
- 创建自定义智能体、提示词和技能
- 使用消息排队和引导
- 切换到更好的模型
- 启用实验性功能,如 YOLO 模式和自定义思考短语
使用导航控件浏览可用提示,或关闭你不感兴趣的单个提示。一旦你使用了建议的功能,提示会自动隐藏。你可以通过 完全禁用提示。
随着功能的发布,新提示会定期添加,请经常回来查看新鲜建议。
自定义思考短语
设置:
在推理或工具调用期间显示的加载文本现在可以自定义。你可以使用预定义的自定义短语,通过 replace 模式替换现有默认短语,或通过 append 模式将自定义短语作为默认短语的补充。
替换默认值的示例
"chat.agent.thinking.phrases": {
"mode": "replace",
"phrases": [
"Bribing the hamster",
"Reticulating splines",
"Untangling the spaghetti"
]
},
此设置可让你个性化聊天加载体验。
可折叠的终端工具调用
设置:
智能体模式下的终端工具调用现在显示为可折叠区块。每个终端命令不再以冗长的输出干扰对话,而是显示为一个摘要标题,你可以展开它以查看完整输出。这减少了视觉干扰,并使扫描多步智能体交互变得更容易。可以使用 禁用此功能。

聊天响应和确认的系统通知
设置:
此前,聊天响应和确认请求的系统通知仅在 VS Code 未聚焦时出现。这意味着如果你正在 VS Code 中积极处理另一项任务,可能会错过重要的更新,例如收到响应或智能体需要你的确认才能继续。
你现在可以将这些通知配置为即使在窗口聚焦时也显示,只需将设置值设为 always。
行内聊天悬浮模式
设置:
行内聊天正在从“行间”UI 过渡到基于悬浮的 UI。你可以通过 启用它
行内聊天触发图标(Affordance)
设置:
为了提供更简便的启动行内聊天的方式,我们添加了两种随选区显示的触发图标。它们与灯泡图标结合使用,不会干扰你的操作。
该
off选中文本时不显示触发图标 |
|
editor在编辑器选区旁边显示菜单 |
|
gutter在选区旁的编辑器侧栏(行号区域)显示菜单 |
辅助功能
此版本改进了屏幕阅读器支持、键盘导航以及对聊天交互的感知,以便每位开发者都能有效利用 VS Code 的 AI 功能。
在辅助视图中切换思考内容
屏幕阅读器用户现在可以切换在聊天响应辅助视图中是否包含思考内容:⌥T (Windows , Linux Alt+T)。这让你能选择在阅读响应时是否包含模型的推理过程,从而可以灵活地选择跟随完整的思维链或仅关注最终输出。
问题轮播辅助功能
聊天问题轮播现在对屏幕阅读器用户完全无障碍:
- 问题会播报其位置(例如,“第1个问题,共3个”)
- 使用 Alt+N 和 Alt+P 在问题之间导航
- 使用 在问题轮播和聊天输入框之间切换焦点
- 在屏幕阅读器模式下,焦点不再自动移动以防止干扰
聊天提问和确认通知
设置:
当聊天提问或需要确认时,VS Code 现在会播放辅助功能信号,并在启用时显示系统通知。这有助于你在即使处理另一个窗口的任务时也能感知到待处理的操作。
切换 TODO 列表焦点的快捷键
使用 ⇧⌘T (Windows , Linux Ctrl+Shift+T) 快速在智能体 TODO 列表和聊天输入框之间切换焦点。这对于屏幕阅读器用户获取待处理任务概览并返回聊天输入特别有帮助。
辅助视图中记住光标位置
当你在内容流式传输(如聊天响应期间)关闭辅助视图时,现在当你重新打开它,你的光标位置会被保留。这防止了光标跳回顶部,并让你能从上次中断的地方继续阅读。
查找和过滤辅助功能帮助
在任何查找或过滤对话框中按 Alt+F1 可打开上下文辅助功能帮助。这包括以下帮助:
- 编辑器查找和替换
- 终端查找
- 跨文件搜索
- 输出、问题和调试控制台过滤器
帮助内容解释了可用的键盘快捷键、导航模式和特定上下文的行为。查找组件在获得焦点时也会播报“按 Alt+F1 获取辅助功能帮助”(由 控制)。
快速输入(Quick input)屏幕阅读器改进
“转到行”对话框 (⌃G (Windows, Linux Ctrl+G)) 及其他快速输入框现在能更好地配合屏幕阅读器工作:
- 字符在你输入时会播报
- 方向键导航在输入字段内正常工作
- 导航列表项时有正确的播报
- 导航后会播报行号和列位置
屏幕阅读器引导指示
当你在响应流式传输期间发送引导消息时,屏幕阅读器用户现在会收到 aria-status 播报,指示引导已生效。
辅助功能技能
一项新的内置辅助功能技能有助于确保新功能包含适当的无障碍支持。当你要求智能体创建一个新功能并使其具备无障碍特性时,它会自动引用辅助功能指南和模式。
聊天中的复选标记
设置:
在此次迭代中,为了简化聊天视图并使其更一致,工具调用和可折叠部分前方的复选标记默认已被移除。设置
编辑器体验
模态编辑器(实验性)
设置:
我们正在尝试一种新的模态编辑器体验,适用于那些通常短暂打开然后返回活动任务的编辑器。模态编辑器漂浮在编辑器上方,不会影响编辑器标签页的布局。要关闭模态编辑器,请按 Escape。模态窗口包含一个将编辑器移回标签页的操作,以及一个最大化模态体验的操作。

模态体验适用于以下编辑器:
- 设置
- 键盘快捷键
- 配置文件管理
- AI 和语言模型管理
- 工作区信任管理
设置
some 以加入此体验。
注意:设置编辑器和键盘快捷键编辑器显示一个按钮,用于将关联的 JSON 文件作为文本编辑器打开
另一个设置

在此模态编辑器中,标题栏中的控件允许你在“扩展”视图列表中的所有扩展之间导航。这同样适用于 MCP 服务器。未来版本可能会将扩展列表和搜索功能也移入模态框。欢迎尝试并分享反馈。
可配置的通知位置
设置:
此前,VS Code 通知出现在屏幕右下角。由于聊天视图的默认位置也在右侧,通知可能会遮挡聊天界面。
你现在可以将通知位置配置为 top-right(右上)、bottom-right(右下)或 bottom-left(左下)。默认仍为 bottom-right。此设置使你能为自己的工作流选择最佳位置。
设置编辑器清理
我们将 VS Code 聊天设置移到了设置编辑器中独立的顶级条目下,并带有子类别。GitHub Copilot Chat 扩展条目仍保留在“扩展”下的各自条目中。
显示的设置列表也限定在所选的目录条目内,这意味着一旦你选择了一个目录条目,就不会再意外滚动到下一个条目中。
最后,实验性设置已移至每个部分的末尾,以便稳定后的设置优先显示。
代码编辑
远距离下一处编辑建议
下一处编辑建议 (NES) 扩展了虚影文本(ghost text),它不仅在你的光标处建议编辑,还会在附近建议编辑,预判你接下来的改动。我们一直在推进这项体验,推出“远距离下一处编辑建议”,将 NES 扩展到可以预测和建议文件中任何位置的编辑,而不仅局限于当前光标位置附近。
阅读关于远距离下一处编辑建议的博文,了解更多关于它是如何构建的,从创建训练数据集到优化 UX、评估成功指标等。请确保你已在 VS Code 中启用了 NES ()
NES 积极度(Eagerness)
Copilot 状态栏项目现在包含下一处编辑建议的积极度选项。此选项让你能在获得更多但可能相关性较低的建议,与获得较少但更有用的建议之间做出选择。

最初,此选项主要影响建议出现的时机。随着 NES 模型的演进,它将越来越多地根据你的积极度偏好提供更细致的建议。
源代码管理
提交代码时的 AI 共同作者归属
设置:
当你提交包含 AI 生成贡献的代码时,VS Code 可以自动附加 Co-authored-by: 尾注。此外,Git blame 悬停工具提示现在会显示来自提交尾注的共同作者,包括非 AI 的 Co-authored-by 条目。
配置
off(默认):不添加共同作者尾注chatAndAgent:为使用 Copilot Chat 或智能体模式生成的代码添加尾注all:为所有 AI 生成的代码添加尾注,包括行内补全
VS Code 仅为你从 VS Code 内部进行的提交添加共同作者尾注。此设置不会修改在外部 Git 工具或命令行中进行的提交。
调试
JavaScript 调试器
自定义属性替换
如果一个对象具有使用 Symbol.for('debug.properties') 定义的方法,那么这些属性将默认显示在调试器中。这允许你为复杂对象提供更易理解的视图。

原始对象属性会折叠在 ... 列表项下。
模拟聚焦窗口和事件监听器断点
以前,在调试浏览器时,你可以在“事件监听器断点”视图中设置断点。我们已将此视图重命名为浏览器选项(Browser Options)。
我们添加了一个额外选项 Emulate a focused page。选中后,将焦点移出浏览器窗口不再会导致浏览器元素失去焦点。这对于调试依赖悬停或聚焦状态的元素非常有用。
终端
Kitty 图形协议
设置:
VS Code 终端现在支持 Kitty 图形协议,可在终端直接渲染高保真图像。支持此协议的程序可以传输并显示具有丰富能力的图像:
- 图像格式:PNG, 24位 RGB, 以及 32位 RGBA
- 显示布局:将图像缩放到特定的行列尺寸、裁剪源区域、应用子单元像素偏移,以及控制 z-index 堆叠顺序
- 传输:直接行内 base64,支持分块传输和 zlib 压缩
- 图像管理:一步完成传输与显示、存储图像并稍后在不同位置放置、按 ID 或一次性删除、重新传输以更新现有图像
- 光标控制:选择渲染后光标是跳过图像还是留在原地
- 终端集成:图像随文本滚动,并在终端重置或清除时被正确清理
要启用图像渲染,请将
true 并确保 on 或 auto。在 Windows 上,你还需要启用 kitten icat (macOS/Linux) 或 VT CLI 等工具可用于在终端显示图像。

注意:部分 Kitty 图形协议功能尚未支持,包括动画、相对放置、Unicode 占位符和基于文件的传输。请参阅 xterm.js 讨论 以获取最新的实现状态。
外部终端支持 Ghostty
设置:
Ghostty 现在在 macOS 和 Linux 上被支持为外部终端。你可以使用 macOS 上的
// macOS
"terminal.external.osxExec": "Ghostty.app",
// Linux
"terminal.external.linuxExec": "ghostty"
配置完成后,Terminal: Open New External Terminal 命令以及在外部终端中启动的调试配置都将在 Ghostty 中打开。

外部终端的工作区文件夹选择
当你在多根工作区中使用 ⇧⌘C (Windows, Linux Ctrl+Shift+C) 或 Terminal: Open New External Terminal 命令打开外部终端时,VS Code 现在会提示你选择一个工作区文件夹。所选文件夹将用作外部终端的工作目录。

终端沙箱改进(预览版)
设置:
通过启用 中的 allowTrustedDomains,现在可以为网络隔离选择受信任的域名。
在 macOS 上启用终端沙箱无需安装,而在 Linux 上无需安装 ripgrep 即可启用。
语言
统一的 JavaScript 和 TypeScript 设置
为了迎接即将发布的 TypeScript 6.0 和 7.0 版本,我们整合并清理了内置的 JavaScript 和 TypeScript 设置 ID。此前,这些设置中有许多存在重复的 javascript.* 和 typescript.* 版本。这是因为这些设置是在我们添加语言特定设置的标准方法之前设计的。有些设置名称也不够一致。
现在,所有这些设置都已移动到 js/ts.* 前缀下。这意味着默认情况下,你只需更新单个设置值即可更改 JavaScript 和 TypeScript 文件的行为。如果你希望 JavaScript 和 TypeScript 文件有不同的行为,可以使用语言特定设置。
例如,不再需要分别设置:
"javascript.format.enable": false,
"typescript.format.enable": true
你现在可以使用统一设置配合语言特定覆盖:
"[javascript][javascriptreact]": {
"js/ts.format.enabled": false
},
"[typescript][typescriptreact]": {
"js/ts.format.enabled": true
}
你还可以通过使用 [javascriptreact] 仅为 JSX 文件自定义设置。
旧的 javascript.* 和 typescript.* 设置继续有效,但现已标记为弃用,且如果设置了新的统一 js/ts 设置,旧设置将被覆盖。
我们知道这是一项重大改动,但我们认为这有利于 VS Code 的长期质量。统一设置使更改 JavaScript 和 TypeScript 设置变得更简单,也支持了诸如语言特定设置等现代化选项。
Python
Python Environments 扩展向所有用户推出
Python Environments 扩展 在经过一年的预览后,现已向所有用户推出。无论你使用 venv, conda, pyenv, poetry 还是 pipenv,该扩展都为直接在 VS Code 中管理 Python 环境、包和解释器提供了一个统一界面。
关键能力包括:
- 快速创建:使用默认管理器和最新 Python 版本一键创建环境
- Python 项目:为单仓库(monorepos)和多服务工作区中的特定文件夹分配环境
- uv 集成:安装 uv 后,环境创建和包安装速度更快
- 内置包管理:在“环境管理器”视图中搜索、安装和卸载包
- 便携式设置:环境配置使用管理器类型而非硬编码路径,使
settings.json跨机器可移植
你可以期待该扩展在未来几周内自动启用,或者通过 python.useEnvsExtension 设置立即加入。
更多详情请阅读公告博文或查看 Python 环境文档。
对扩展的贡献
GitHub 拉取请求
GitHub Pull Requests 扩展取得了更多进展,该扩展使您能够处理、创建和管理拉取请求和问题。新功能包括:
- 可以同时打开多个拉取请求(Pull Request)和问题(Issue)说明。
- 设置
githubPullRequests.autoRepositoryDetection可以设为true,以包含工作区之外的仓库。 - 没有匹配问题的仓库现在在“问题”视图中被隐藏。
查看扩展 0.130.0 版本的更新日志 以了解此版本中的所有内容。
扩展开发
Webview 和自定义编辑器现在可以使用 ThemeIcon 作为图标路径
Webview 面板和自定义编辑器现在可以使用 ThemeIcon 作为其编辑器标签页图标
webviewPanel.iconPath = new vscode.ThemeIcon('octoface');
![]()
便携模式检测 API 最终确定
env.isAppPortable API 现已稳定,可供所有扩展使用,无需 enabledApiProposals。
使用此 API 检测 VS Code 是否在便携模式下运行(即应用从包含 data 目录的文件夹启动)。
if (vscode.env.isAppPortable) {
// Running in portable mode - adjust behavior accordingly
}
提议的 API
会话项目控制器(Chat item controller)API
我们继续改进了聊天会话 API。此 API 允许扩展为 VS Code 内置的聊天会话视图贡献条目。本轮迭代的重要更改包括:
-
添加了
ChatSessionItemControllerNewItemHandler,以便控制器指定用于新会话的 URI。 -
添加了
ChatSessionProviderOptions.newSessionOptions,用于设置新会话的默认选项。
我们还大幅优化了该 API 的实现,以支持大量会话。
工程
用于 VS Code 工程开发的 TypeScript-Go
我们继续在 vscode 仓库的开发工作中采用 TypeScript-Go (tsgo)。
自本次迭代起,我们将 vscode 工作区默认设置为使用 TSGo 进行开发。我们已经观察到性能上的提升,这也有助于我们测试 TSGo 的语言工具。
我们现在还使用 TypeScript-Go (tsgo) 在开发期间编译 VS Code 的内置扩展。得益于此,我们的每个内置扩展现在都能在不到一秒的时间内完成构建和完整的类型检查。
使用 esbuild 进行扩展打包
我们已将大多数内置扩展从 webpack 迁移到 esbuild 进行打包。Esbuild 被同时用于打包这些扩展的桌面版和 Web 版。
此次迁移既简化又加速了我们的构建过程。仅剩下少数几个扩展尚未迁移,我们希望在 3 月完成这项工作。
弃用的功能和设置
此版本中的新弃用项
- 编辑模式 (Edit Mode) 已在 VS Code 1.110 版本中正式弃用。用户可以通过 VS Code 设置 chat.editMode.hidden暂时重新启用编辑模式。该设置将支持至 1.125 版本。从 1.125 版本开始,编辑模式将被完全移除,且无法再通过设置启用。
即将到来的弃用项
无
值得注意的修复
- vscode#251722:即使
"workbench.list.horizontalScrolling": true,可见滚动区域内的扩展提供树视图项仍有行内操作
感谢
问题跟踪
对我们问题跟踪的贡献
- @gjsjohnmurray (John Murray)
- @RedCMD (RedCMD)
- @IllusionMH (Andrii Dieiev)
- @tamuratak (Takashi Tamura)
- @robotsnh (robotsnh)
对 vscode 的贡献
- @a-stewart (Anthony Stewart):修复格式化文档命令导致未知详细原因的错误 PR #288934
- @accesswatch (Jeff Bishop)
- 修复:改进屏幕阅读器的 QuickInput 辅助功能 PR #292339
- 修复(辅助功能):为查找组件添加 ARIA 提示并修复错误播报 PR #292376
- 功能(辅助功能):为查找/过滤对话框添加辅助功能帮助系统 PR #292373
- @aturzone (ATUR):修复 osreleaseinfo 中的资源泄漏 PR #293027
- @EmrecanKaracayir (Emrecan Karaçayır)
- 在终端行内聊天中使用 inlineChat.border PR #293116
- 修复智能体状态徽章颜色不一致的问题 PR #293224
- @erezak (Erez Korn):恢复统一的快速访问前缀切换 PR #292203
- @gjsjohnmurray (John Murray)
- 防止 symbol-* codicons 在工具栏上显示彩色(修复 #267766) PR #267787
- 比较 cwd 和 userHome 时标准化 Windows 盘符(修复 #293049) PR #293065
- @hkleungai (Jimmy Leung):vscode-dts:添加 LineCommentConfig 接口并更新 lineComment PR #289457
- @jainampatel27 (Jainam Patel)
- 修复:纠正 debug.ts 中 nls.localize 字符串的拼写错误 PR #296730
- 修复扩展激活事件中 nls.localize 字符串的拼写错误 PR #297378
- @JeffreyCA:更新 Azure Developer CLI (azd) 的 Fig 规范 PR #292894
- @murataslan1 (Murat Aslan):功能(测试):测试运行时在活动栏显示运行中徽章 PR #292257
- @n-gist (n-gist):修复诊断信息未从问题匹配器重新推送到 markerService 的问题 PR #292109
- @na3shkw (Naoto Ishikawa):修复:输入变量对话框按 ESC 时取消调试启动 PR #293837
- @prasanthpul (Prasanth Pulavarthi):A/B 测试:登录对话框中的“关闭按钮”对比“暂时跳过” PR #295867
- @RedCMD (RedCMD):修复:字符串包含转义字符时的字符串文字选择 PR #295302
- @remcohaszing (Remco Haszing):启用 npm 脚本 PR #283432
- @renan-r-santos (Renan Santos):修复远程终端环境变量集合使用错误工作区范围的问题 PR #293628
- @sam-shubham (Sam Shubham):右对齐操作树视图 PR #295266
- @SimonSiefke (Simon Siefke):修复:隧道视图中的内存泄漏 PR #287142
- @SongXiaoXi (SXX):修复:停止无限制的 websocket inflate-byte 记录 PR #293819
- @tamuratak (Takashi Tamura)
- 修复 markdown 渲染逻辑中的最终答案检测 PR #293746
- 聊天:通过固定逻辑和重新定位增强最终响应渲染 PR #293597
- @Vedag812 (Vedant Agarwal):修复:补全辅助视图导航提示中快捷键占位符缺失的闭合符号 '>' PR #295412
对 vscode-copilot-chat 的贡献
- @24anisha (Anisha Agarwal)
- @aashna (Aashna Garg):为 CAPI 代理认证向路由决策获取器添加 Copilot 认证令牌 PR #3980
- @alexweininger (Alex Weininger)
- @ashatabak786:为 VSC 聊天模型将 0129 的冻结提示词添加到 Prompt A PR #3452
- @bharatvansh (Ayush Singh):功能:为智能体模式添加 /summarize 命令 PR #3352
- @bstee615 (Benjamin Steenhoek)
- @dennyac (Denny Abraham Cheriyan):在 panel_request 事件中添加 vscodeRequestId PR #4007
- @devm33 (Devraj Mehta):向 Copilot SDK 会话添加 VS Code clientName PR #3449
- @FAStre:在图像提示词中包含文件路径 PR #3790
- @IanMatthewHuff (Ian Huff):为第一方仓库遥测信息添加比较提交的最大日期限制 PR #3774
- @lsby:修复工具调用检测并支持 Ollama 模型 PR #3566
- @MRayermannMSFT (Matthew Rayermann)
- @Sid200026 (Siddharth Singha Roy):琐事:为自动模式路由回退添加遥测事件 PR #3780
- @spboyer (Shayne Boyer):功能:改进智能体自定义技能 —— 中等 → 高度合规 PR #3866
- @zelinms (Zeqi Lin):修复:纠正 Responses API 输出的遥测响应 PR #3733
对 vscode-css-languageservice 的贡献
- @Arecsu (Alejandro Romano):修复
@scope解析以支持选择器列表 PR #474 - @ej-shafran (ej shafran)
对 vscode-js-debug 的贡献
对 vscode-json-languageservice 的贡献
- @Legend-Master (Tony):仅在需要时转义为
PR #309 - @nsajko (Neven Sajko):修复
additionalPropertiesJSON Schema 属性说明中的错别字 PR #310
对 vscode-languageserver-node 的贡献
- @andrewbraxton (Andrew Braxton):向元模型添加 incomingCalls 和 outgoingCalls 能力 PR #1720
对 vscode-pull-request-github 的贡献
- @gvilums (Georgijs):修复扁平文件布局下的 PR 树展现错误 PR #8522
对 vscode-python-debugger 的贡献
- @renan-r-santos (Renan Santos):修复:使用
run.executable进行解释器识别而非activatedRun.executablePR #949
对 vscode-python-environments 的贡献
- @qq157755587 (Zhao Yuanjie):修复 defaultInterpreterPath 变量扩展并稳定解释器选择测试 PR #1234
- @StellaHuang95 (Stella Huang):修复终端环境变量从 .env 文件被注释或删除后未移除的问题。 PR #1131
对 vscode-test 的贡献
- @DanTup (Danny Tuppeny): 允许为测试输出自定义 stdout/stderr 流 PR #324
对 debug-adapter-protocol 的贡献
- @Be-ing (Be): 将 Kate 添加到实现者列表 PR #589
对 language-server-protocol 的贡献
- @orien (Orien Madgwick): 添加 Pony 语言服务器 PR #2229
- @SeanDictionary (SeanDictionary): 添加 SageMath 语言服务器 PR #2231
- @stefanvanburen (Stefan VanBuren): 添加 Buf 语言服务器 PR #2225
我们非常感谢大家在新功能准备就绪后立即进行试用,请经常回来查看并了解新功能。
如果您想阅读以前 VS Code 版本的发行说明,请访问 code.visualstudio.com 上的更新页面。