– 代理会话日,2月19日

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)能够胜任运行时间更长、更复杂的任务,为你提供更强的控制力和可见性、扩展智能体的新方式,以及更智能的会话管理。

编码愉快!



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

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


智能体控制

无论你是正在调试智能体行为、调整审批流,还是将工作交给后台进程,这些更新都能让你对智能体的运行方式拥有更强的可见性和控制力。

后台代理

通过后台智能体,你可以将任务交给 Copilot CLI,同时仍在 VS Code 中对其进行跟踪。我们进行了多项改进,使后台智能体的功能和体验与本地及云端智能体保持一致。

  • 上下文压缩:当上下文窗口达到限制时,Copilot 会自动压缩对话历史。你现在还可以通过 /compact 斜杠命令手动触发后台智能体的压缩。

  • 使用斜杠命令:聊天自定义选项(如提示词文件钩子技能)现在也可以在后台智能体会话中作为斜杠命令使用。

    Screenshot showing slash commands for background agents.

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

    Screenshot showing support for renaming background agent sessions.

Claude 智能体

上个月,我们添加了 Claude 智能体,使你能够使用 GitHub Copilot 订阅中包含的 Claude 模型与 Claude Agent SDK 进行交互。

本月,我们通过新功能和改进扩展了这一体验:

  • 引导与排队(Steering and queuing):让你能在对话中途发送后续消息,以改变智能体的方案或排队添加更多请求。

  • 会话重命名

    Screenshot of the session rename action on the chat session item.

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

    Screenshot of the context window control.

  • 新增斜杠命令

    • /compact 用于按需压缩
    • /agents 用于管理自定义智能体
    • /hooks 用于管理 Claude 钩子
  • 添加 getDiagnostics 工具:让智能体访问编辑器和工作区的诊断问题

  • 显著的性能提升

计划进行更多改进。请在 GitHub 上分享你的反馈!

智能体调试面板(预览版)

由于存在钩子、技能和自定义智能体等不同的自定义设置,有时很难理解向智能体发送消息后会发生什么。智能体调试面板可让你更深入地了解聊天会话以及聊天自定义项的加载方式。

智能体调试面板会实时显示聊天事件,包括聊天自定义事件、系统提示词、工具调用等。你可以准确看到为会话加载了哪些提示词文件、技能、钩子和其他自定义项,从而更容易理解和排除智能体配置故障。这取代了旧的诊断(Diagnostics)聊天操作,提供了更丰富、更详细的视图。

Screenshot showing the Agent Debug panel with a list of chat events and a chart view.

从命令面板运行 Developer: Open Agent Debug Panel 打开该面板,或选择聊天视图顶部的齿轮图标并选择 View Agent Logs

该面板还包括图表视图,显示事件的视觉层级结构,以便你快速了解聊天会话期间发生的结构和顺序。

Screenshot showing the flow chart view in the Agent Debug panel.

此体验仍处于预览阶段,欢迎试用并分享反馈!

注意:智能体调试面板目前仅适用于本地聊天会话。日志数据不会持久化,因此你只能查看当前 VS Code 会话中聊天会话的日志。

用于启用自动审批的斜杠命令

你现在可以直接在聊天输入框中使用斜杠命令切换全局自动审批,无需导航至设置。

  • /autoApprove 为所有工具启用全局自动审批
  • /disableAutoApprove 禁用全局自动审批

/yolo/disableYolo 是相同命令的别名。

注意:全局自动审批会跳过所有工具确认提示,让智能体运行工具和终端命令而无需等待你的批准。这可以加快较长的多步骤任务,但也意味着你将没有机会取消潜在的破坏性操作。在启用前,请确保你了解其安全性影响,并考虑使用终端沙箱进行额外保护。

编辑(Edit)和提问(Ask)模式更改

设置

chat.editMode.hidden
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

随着智能体的发展,智能体模式现在可以处理编辑模式能做的所有事情甚至更多,且具有更好的性能和可靠性。编辑模式现在默认从智能体选择器中隐藏,因此用户无需在不同选项间做选择即可享受最强大的模式。你可以通过禁用以下设置将其找回:

chat.editMode.hidden
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置来指定 VS Code 应该查找技能的自定义路径。

提问模式现在由自定义智能体定义支持,提供完全的智能体化体验。这解决了之前的限制,例如在提问和智能体模式之间切换时需要启动新会话。

这两项更改展示了如何自定义你自己的智能体。如果你更喜欢编辑模式或想要自己版本的提问模式,可以通过定义其工具、提示词和语言模型来创建符合需求的自定义智能体。当你禁用

chat.editMode.hidden
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
,你可以在智能体选择器中选择 View edit agent 操作,查看支持编辑模式的智能体声明,这可以作为你创建自定义智能体的起点。

自定义智能体文档中了解如何创建自定义智能体。

提问工具(Ask questions tool)

askQuestions 工具(在聊天交互期间呈现问题轮播 UI)已移至 VS Code 核心。这提高了取消请求时的可靠性,并使该工具在不同上下文(包括子智能体)中能够一致地工作。

Screenshot showing the ask questions tool with a carousel of questions and a question input box.

当轮播处于活动状态时,你现在可以发送引导消息,而无需先回复或关闭待处理的问题。这允许你随时重定向智能体的响应,即使在问题序列中间也是如此。使用键盘在问题之间导航:⌥N (Windows , Linux Alt+N)(下一个)和 ⌥P (Windows , Linux Alt+P)(上一个)。

防止聊天期间自动休眠

VS Code 现在会请求操作系统在聊天请求运行时不要自动休眠。你可以暂时离开电脑,而不必担心智能体的响应中断。

请注意,在未插电的笔记本电脑上合上盖子仍会触发休眠。

智能体扩展性

智能体的作用取决于你赋予它们的工具和自定义设置。此版本使扩展智能体功能变得更加容易,包括可安装的插件包、浏览器自动化和新的代码感知工具。

智能体插件(实验性)

设置

chat.plugins.enabled
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
,
chat.plugins.marketplaces
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
,
chat.plugins.paths
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

VS Code 现在支持智能体插件,即预打包的聊天自定义束。插件可以包含技能、命令、智能体、MCP 服务器和钩子。

你可以直接从 VS Code 的“扩展”视图中搜索并安装智能体插件。在搜索框中输入 @agentPlugins,或从命令面板运行 Chat: Plugins 命令。

Screenshot showing the Agent Plugins view in VS Code.

默认情况下,VS Code 会从 copilot-pluginsawesome-copilot 仓库获取插件。你可以通过以下设置配置更多来源:

  • chat.plugins.marketplaces
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    :通过指定 GitHub 或纯 git 仓库添加额外的插件市场。该设置还支持 Claude 风格的市场,如 anthropics/claude-code
  • chat.plugins.paths
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    :通过指定路径并启用或禁用它们来注册本地插件目录。

智能体插件文档中了解更多信息。

智能体浏览器工具(实验性)

设置

workbench.browser.enableChatTools
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

在上一版本中,我们在 VS Code 桌面版中添加了新的集成浏览器,让你能直接在编辑器中与网页交互。但如果你的智能体可以自主使用该浏览器,并在构建网站时验证对其所做的更改呢?

在此版本中,我们为智能体添加了一组读取和操作集成浏览器的工具。当智能体与页面交互时,它能看到页面内容的更新以及控制台中的任何错误和警告。这些工具开箱即用,无需安装额外依赖。

  • 页面导航: openBrowserPage, navigatePage
  • 页面内容与外观: readPage, screenshotPage
  • 用户交互: clickElement, hoverElement, dragElement, typeInPage, handleDialog
  • 自定义浏览器自动化: runPlaywrightCode

这些工具赋予了智能体同时编写和验证 Web 应用的能力,闭环了智能体的开发流程。

默认情况下,智能体打开的页面在私有的内存会话中运行。这让你能控制智能体可访问的浏览数据。要让智能体在集成浏览器中访问特定网页,你可以显式地与智能体共享该页面,以提供临时访问权限和任何已保存的数据。

要尝试这些新工具,请启用

workbench.browser.enableChatTools
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
并在聊天工具选择器中启用浏览器工具。

浏览器智能体测试指南 的分步教程开始。

从聊天创建智能体自定义

你现在可以在智能体模式下使用新的 /create-* 斜杠命令,直接从聊天对话中生成智能体自定义文件:

每个命令都会引导你完成创建过程,并让你选择是在用户级别(全账号)还是工作区级别(项目专用)进行存储。

这些命令还可以从正在进行的对话中提取模式。例如,在经过几轮调试后,使用 /create-skill 将该过程捕获为可复用技能,或使用 /create-instruction 将修正转化为项目规范。

你不需要记住准确的斜杠命令。你也可以使用自然语言,例如“将此工作流保存为技能”或“从中提取一条指令”,智能体会识别你的意图并启动正确的创建流程。

相同的生成选项也可在提示词、指令、技能和智能体的快速选择菜单中使用,并带有闪烁图标。

用于引用项(Usages)和重命名的工具

我们更新了 usages 工具,并添加了 rename 工具。这些工具复用了现有的扩展或 LSP 功能,允许智能体以高精度和最佳性能导航及重构代码。

智能体应该会自动采用这些新工具。然而,我们发现智能体有强烈倾向使用 grep,而 grep 在这种场景下表现较差。你可以通过显式地使用 # 提及工具名称来帮助智能体,例如 Use #rename and change the name of fib to fibonacci,或者通过设置 SKILL.md 文件。

Screenshot showing the rename tool having changed all occurrences of the fib function.

更智能的会话

当智能体记住上下文、高效分配调研任务并保持行内编辑同步时,长期运行和多轮任务的效果会更好。这些改进使会话更具弹性且具备上下文感知能力。

计划的会话记忆

由计划智能体(Plan agent)创建的计划现在会持久化到会话记忆中,并在不同对话轮次间保持可用。当你要求微调时,智能体会基于现有计划进行构建,而不是从头开始。

该计划在同一会话的无关消息之后也能被找回,因此你可以返回计划而无需重复上下文。在较长的实施工作中,即使较旧的对话历史被压缩以释放上下文空间,计划在记忆中仍然可访问。

上下文压缩

随着对话的增长,累积的消息和上下文可能会填满模型的上下文窗口。上下文压缩会总结对话历史以释放空间,这样你就可以在同一会话中继续工作,而不会丢失重要细节。

当上下文窗口达到限制时,VS Code 会自动压缩对话,但你也可以手动触发压缩。手动压缩适用于本地、后台和 Claude 智能体会话。要手动压缩,请使用以下方法之一:

  • 在聊天输入字段中输入 /compact。可选地,在命令后添加自定义指令来引导摘要生成,例如 /compact focus on the database schema decisions

  • 选择聊天输入框中的上下文窗口控件,然后选择 Compact Conversation

Screenshot showing the context window control and the compact option.

在文档中了解更多关于上下文压缩的信息。

使用 Explore 子智能体进行代码库搜索

设置

chat.exploreAgent.defaultModel
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

计划智能体现在总是将代码库调研委托给专门的 Explore 子智能体。Explore 是一个只读智能体,仅使用搜索和文件读取工具,专注于快速、并行的代码库探索。通过将调研任务卸载给 Explore,计划智能体可以生成引用你工作区中特定文件和代码路径的计划。

Explore 默认运行在快速模型上(Claude Haiku 4.5, Gemini 3 Flash)以保持调研效率,而计划智能体使用完整模型进行规划。你可以使用

chat.exploreAgent.defaultModel
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置覆盖该模型。在聊天中悬停在探索任务上可查看调研使用的模型。

注意:Explore 不能作为独立智能体直接调用。它仅作为按需使用的子智能体可用。

行内聊天和聊天会话

当智能体会话已经更改了某个文件时,行内聊天现在总是将新消息排入该会话,而不是孤立地进行更改。这确保了使用完整的上下文,在审查智能体编辑时也非常有用。

派生聊天会话

你现在可以派生(fork)一个聊天会话,以创建一个继承自原始会话对话历史的新独立会话。这在你想要探索另一种方案、询问次要问题或在不丢失原始上下文的情况下将长对话引向不同方向时非常有用。

有两种派生会话的方法:

  • 派生整个会话:在聊天输入框中输入 /fork 以创建具有完整对话历史的新会话。
  • 从检查点派生:悬停在任何聊天请求上并选择 Fork Conversation,以创建一个仅包含到该点为止的对话的新会话。

Screenshot showing the Fork Conversation button on a chat request.

派生的会话是完全独立的——一个会话中的更改不会影响另一个会话。了解更多关于派生聊天会话的信息。

聊天体验

聊天界面的微小改进积少成多:更整洁的模型选择器、减少工具输出造成的视觉干扰,以及当你专注在另一个文件时也能传达到的通知。

重新设计的模型选择器

我们重新设计了语言模型下拉列表,以改进为任务选择合适模型的过程。新的下拉列表将模型组织为清晰的区块:

  • Auto(自动)始终显示在列表顶部。
  • 接下来是推荐和最近使用的模型。最多显示四个最近使用的模型,以及为你的账户精选的推荐模型。随着你的使用,模型会自动移入此区块。
  • Other models(其他模型)是一个可折叠的分组,包含剩余的可用模型。展开它还可以在底部看到 Manage Models 选项。
  • 搜索框可让你按名称快速过滤模型。

每个模型条目都有丰富的悬停提示,显示能力和上下文窗口大小等细节。你当前 GitHub Copilot 方案中不可用的模型也会显示,但无法选择。

通过上下文提示发现功能(实验性)

设置

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

VS Code 现在会在聊天视图中显示上下文提示,帮助你发现功能并充分利用 AI 编程体验。提示在你启动新聊天会话时出现,并根据你的使用模式量身定制。为了避免干扰,仅建议你尚未尝试过的功能,使其具有相关性和可操作性。

Screenshot showing a chat tip suggesting to use /create-skill to create a skill.

提示涵盖多种能力,包括:

  • 创建自定义智能体、提示词和技能
  • 使用消息排队和引导
  • 切换到更好的模型
  • 启用实验性功能,如 YOLO 模式和自定义思考短语

使用导航控件浏览可用提示,或关闭你不感兴趣的单个提示。一旦你使用了建议的功能,提示会自动隐藏。你可以通过 完全禁用提示。

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

随着功能的发布,新提示会定期添加,请经常回来查看新鲜建议。

自定义思考短语

设置

chat.agent.thinking.phrases
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

在推理或工具调用期间显示的加载文本现在可以自定义。你可以使用预定义的自定义短语,通过 replace 模式替换现有默认短语,或通过 append 模式将自定义短语作为默认短语的补充。

替换默认值的示例

  "chat.agent.thinking.phrases": {
    "mode": "replace",
    "phrases": [
      "Bribing the hamster",
      "Reticulating splines",
      "Untangling the spaghetti"
    ]
  },

此设置可让你个性化聊天加载体验。

可折叠的终端工具调用

设置

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

智能体模式下的终端工具调用现在显示为可折叠区块。每个终端命令不再以冗长的输出干扰对话,而是显示为一个摘要标题,你可以展开它以查看完整输出。这减少了视觉干扰,并使扫描多步智能体交互变得更容易。可以使用 禁用此功能。

chat.tools.terminal.simpleCollapsible
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置来指定 VS Code 应该查找技能的自定义路径。

Screenshot showing a terminal tool call in chat displayed as a collapsible section with a summary header.

聊天响应和确认的系统通知

设置

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

此前,聊天响应和确认请求的系统通知仅在 VS Code 未聚焦时出现。这意味着如果你正在 VS Code 中积极处理另一项任务,可能会错过重要的更新,例如收到响应或智能体需要你的确认才能继续。

你现在可以将这些通知配置为即使在窗口聚焦时也显示,只需将设置值设为 always

行内聊天悬浮模式

设置

inlineChat.renderMode
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

行内聊天正在从“行间”UI 过渡到基于悬浮的 UI。你可以通过 启用它

inlineChat.renderMode
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
,这使行内聊天输入更像重命名体验。提交提示后,进度和结果会显示在右上角。

行内聊天触发图标(Affordance)

设置

inlineChat.affordance
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

为了提供更简便的启动行内聊天的方式,我们添加了两种随选区显示的触发图标。它们与灯泡图标结合使用,不会干扰你的操作。

inlineChat.affordance
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
该设置有三个可能的值:

off
选中文本时不显示触发图标
editor
在编辑器选区旁边显示菜单
gutter
在选区旁的编辑器侧栏(行号区域)显示菜单

辅助功能

此版本改进了屏幕阅读器支持、键盘导航以及对聊天交互的感知,以便每位开发者都能有效利用 VS Code 的 AI 功能。

在辅助视图中切换思考内容

屏幕阅读器用户现在可以切换在聊天响应辅助视图中是否包含思考内容:⌥T (Windows , Linux Alt+T)。这让你能选择在阅读响应时是否包含模型的推理过程,从而可以灵活地选择跟随完整的思维链或仅关注最终输出。

聊天问题轮播现在对屏幕阅读器用户完全无障碍:

  • 问题会播报其位置(例如,“第1个问题,共3个”)
  • 使用 Alt+NAlt+P 在问题之间导航
  • 使用 在问题轮播和聊天输入框之间切换焦点
  • 在屏幕阅读器模式下,焦点不再自动移动以防止干扰

聊天提问和确认通知

设置

chat.notifyWindowOnConfirmation
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
,
accessibility.signals.chatUserActionRequired
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

当聊天提问或需要确认时,VS Code 现在会播放辅助功能信号,并在启用时显示系统通知。这有助于你在即使处理另一个窗口的任务时也能感知到待处理的操作。

切换 TODO 列表焦点的快捷键

使用 ⇧⌘T (Windows , Linux Ctrl+Shift+T) 快速在智能体 TODO 列表和聊天输入框之间切换焦点。这对于屏幕阅读器用户获取待处理任务概览并返回聊天输入特别有帮助。

辅助视图中记住光标位置

当你在内容流式传输(如聊天响应期间)关闭辅助视图时,现在当你重新打开它,你的光标位置会被保留。这防止了光标跳回顶部,并让你能从上次中断的地方继续阅读。

查找和过滤辅助功能帮助

在任何查找或过滤对话框中按 Alt+F1 可打开上下文辅助功能帮助。这包括以下帮助:

  • 编辑器查找和替换
  • 终端查找
  • 跨文件搜索
  • 输出、问题和调试控制台过滤器

帮助内容解释了可用的键盘快捷键、导航模式和特定上下文的行为。查找组件在获得焦点时也会播报“按 Alt+F1 获取辅助功能帮助”(由 控制)。

accessibility.verbosity.find
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
).

快速输入(Quick input)屏幕阅读器改进

“转到行”对话框 (⌃G (Windows, Linux Ctrl+G)) 及其他快速输入框现在能更好地配合屏幕阅读器工作:

  • 字符在你输入时会播报
  • 方向键导航在输入字段内正常工作
  • 导航列表项时有正确的播报
  • 导航后会播报行号和列位置

屏幕阅读器引导指示

当你在响应流式传输期间发送引导消息时,屏幕阅读器用户现在会收到 aria-status 播报,指示引导已生效。

辅助功能技能

一项新的内置辅助功能技能有助于确保新功能包含适当的无障碍支持。当你要求智能体创建一个新功能并使其具备无障碍特性时,它会自动引用辅助功能指南和模式。

聊天中的复选标记

设置

accessibility.chat.showCheckmarks
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

在此次迭代中,为了简化聊天视图并使其更一致,工具调用和可折叠部分前方的复选标记默认已被移除。设置

accessibility.chat.showCheckmarks
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
将在整个聊天中重新启用复选标记(如果你希望在聊天中保留它们作为指示器)。

编辑器体验

模态编辑器(实验性)

设置

workbench.editor.useModal
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
,
extensions.allowOpenInModalEditor
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

我们正在尝试一种新的模态编辑器体验,适用于那些通常短暂打开然后返回活动任务的编辑器。模态编辑器漂浮在编辑器上方,不会影响编辑器标签页的布局。要关闭模态编辑器,请按 Escape。模态窗口包含一个将编辑器移回标签页的操作,以及一个最大化模态体验的操作。

Screenshot showing a modal settings editor.

模态体验适用于以下编辑器:

  • 设置
  • 键盘快捷键
  • 配置文件管理
  • AI 和语言模型管理
  • 工作区信任管理

设置

workbench.editor.useModal
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设为 some 以加入此体验。

注意:设置编辑器和键盘快捷键编辑器显示一个按钮,用于将关联的 JSON 文件作为文本编辑器打开

另一个设置

extensions.allowOpenInModalEditor
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
将模态编辑器的使用扩展到了扩展程序。此体验仍在不断完善中,未来可能会发生变化,但我们希望现在就发布以听取反馈。

Screenshot showing a modal extensions editor.

在此模态编辑器中,标题栏中的控件允许你在“扩展”视图列表中的所有扩展之间导航。这同样适用于 MCP 服务器。未来版本可能会将扩展列表和搜索功能也移入模态框。欢迎尝试并分享反馈。

可配置的通知位置

设置

workbench.notifications.position
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

此前,VS Code 通知出现在屏幕右下角。由于聊天视图的默认位置也在右侧,通知可能会遮挡聊天界面。

你现在可以将通知位置配置为 top-right(右上)、bottom-right(右下)或 bottom-left(左下)。默认仍为 bottom-right。此设置使你能为自己的工作流选择最佳位置。

设置编辑器清理

我们将 VS Code 聊天设置移到了设置编辑器中独立的顶级条目下,并带有子类别。GitHub Copilot Chat 扩展条目仍保留在“扩展”下的各自条目中。

显示的设置列表也限定在所选的目录条目内,这意味着一旦你选择了一个目录条目,就不会再意外滚动到下一个条目中。

最后,实验性设置已移至每个部分的末尾,以便稳定后的设置优先显示。

代码编辑

远距离下一处编辑建议

下一处编辑建议 (NES) 扩展了虚影文本(ghost text),它不仅在你的光标处建议编辑,还会在附近建议编辑,预判你接下来的改动。我们一直在推进这项体验,推出“远距离下一处编辑建议”,将 NES 扩展到可以预测和建议文件中任何位置的编辑,而不仅局限于当前光标位置附近。

阅读关于远距离下一处编辑建议的博文,了解更多关于它是如何构建的,从创建训练数据集到优化 UX、评估成功指标等。请确保你已在 VS Code 中启用了 NES ()

github.copilot.nextEditSuggestions.enabled
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
和扩展的 NES 范围 (
github.copilot.nextEditSuggestions.extendedRange
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
)。

NES 积极度(Eagerness)

Copilot 状态栏项目现在包含下一处编辑建议的积极度选项。此选项让你能在获得更多但可能相关性较低的建议,与获得较少但更有用的建议之间做出选择。

Screenshot showing the NES eagerness option in the Copilot status bar menu.

最初,此选项主要影响建议出现的时机。随着 NES 模型的演进,它将越来越多地根据你的积极度偏好提供更细致的建议。

源代码管理

提交代码时的 AI 共同作者归属

设置

git.addAICoAuthor
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

当你提交包含 AI 生成贡献的代码时,VS Code 可以自动附加 Co-authored-by: 尾注。此外,Git blame 悬停工具提示现在会显示来自提交尾注的共同作者,包括非 AI 的 Co-authored-by 条目。

配置

git.addAICoAuthor
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
为以下值之一:

  • off (默认):不添加共同作者尾注
  • chatAndAgent:为使用 Copilot Chat 或智能体模式生成的代码添加尾注
  • all:为所有 AI 生成的代码添加尾注,包括行内补全

VS Code 仅为你从 VS Code 内部进行的提交添加共同作者尾注。此设置不会修改在外部 Git 工具或命令行中进行的提交。

调试

JavaScript 调试器

自定义属性替换

如果一个对象具有使用 Symbol.for('debug.properties') 定义的方法,那么这些属性将默认显示在调试器中。这允许你为复杂对象提供更易理解的视图。

Screenshot showing custom debug properties displayed in the debugger.

原始对象属性会折叠在 ... 列表项下。

模拟聚焦窗口和事件监听器断点

以前,在调试浏览器时,你可以在“事件监听器断点”视图中设置断点。我们已将此视图重命名为浏览器选项(Browser Options)

我们添加了一个额外选项 Emulate a focused page。选中后,将焦点移出浏览器窗口不再会导致浏览器元素失去焦点。这对于调试依赖悬停或聚焦状态的元素非常有用。

终端

Kitty 图形协议

设置

terminal.integrated.enableImages
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
,
terminal.integrated.gpuAcceleration
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
,
terminal.integrated.windowsUseConptyDll
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

VS Code 终端现在支持 Kitty 图形协议,可在终端直接渲染高保真图像。支持此协议的程序可以传输并显示具有丰富能力的图像:

  • 图像格式:PNG, 24位 RGB, 以及 32位 RGBA
  • 显示布局:将图像缩放到特定的行列尺寸、裁剪源区域、应用子单元像素偏移,以及控制 z-index 堆叠顺序
  • 传输:直接行内 base64,支持分块传输和 zlib 压缩
  • 图像管理:一步完成传输与显示、存储图像并稍后在不同位置放置、按 ID 或一次性删除、重新传输以更新现有图像
  • 光标控制:选择渲染后光标是跳过图像还是留在原地
  • 终端集成:图像随文本滚动,并在终端重置或清除时被正确清理

要启用图像渲染,请将

terminal.integrated.enableImages
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设为 true 并确保
terminal.integrated.gpuAcceleration
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设为 onauto。在 Windows 上,你还需要启用
terminal.integrated.windowsUseConptyDll
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

kitten icat (macOS/Linux) 或 VT CLI 等工具可用于在终端显示图像。

Screenshot showing an image rendered in the VS Code terminal using the Kitty graphics protocol.

注意:部分 Kitty 图形协议功能尚未支持,包括动画、相对放置、Unicode 占位符和基于文件的传输。请参阅 xterm.js 讨论 以获取最新的实现状态。

外部终端支持 Ghostty

设置

terminal.external.osxExec
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
,
terminal.external.linuxExec
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

Ghostty 现在在 macOS 和 Linux 上被支持为外部终端。你可以使用 macOS 上的

terminal.external.osxExec
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置或 Linux 上的
terminal.external.linuxExec
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
将其设为默认外部终端

// macOS
"terminal.external.osxExec": "Ghostty.app",

// Linux
"terminal.external.linuxExec": "ghostty"

配置完成后,Terminal: Open New External Terminal 命令以及在外部终端中启动的调试配置都将在 Ghostty 中打开。

Screenshot showing Ghostty launched as an external terminal from VS Code.

外部终端的工作区文件夹选择

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

Screenshot showing the workspace folder selection prompt when opening an external terminal in a multi-root workspace.

终端沙箱改进(预览版)

设置

chat.tools.terminal.sandbox.enabled
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
,
chat.tools.terminal.sandbox.linuxFileSystem
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
,
chat.tools.terminal.sandbox.macFileSystem
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
,
chat.tools.terminal.sandbox.network
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

通过启用 中的 allowTrustedDomains,现在可以为网络隔离选择受信任的域名。

chat.tools.terminal.sandbox.network
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
。改进了对受限域名的检测,并提供清晰的反馈指示哪个域名被阻止。

在 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');

Screenshot showing the 'octoface' theme icon used for a webview tab icon.

便携模式检测 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
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    暂时重新启用编辑模式。该设置将支持至 1.125 版本。从 1.125 版本开始,编辑模式将被完全移除,且无法再通过设置启用。

即将到来的弃用项

值得注意的修复

  • vscode#251722:即使 "workbench.list.horizontalScrolling": true,可见滚动区域内的扩展提供树视图项仍有行内操作

感谢

问题跟踪

对我们问题跟踪的贡献

vscode 的贡献

vscode-copilot-chat 的贡献

vscode-css-languageservice 的贡献

vscode-js-debug 的贡献

vscode-json-languageservice 的贡献

vscode-languageserver-node 的贡献

vscode-pull-request-github 的贡献

vscode-python-debugger 的贡献

vscode-python-environments 的贡献

vscode-test 的贡献

debug-adapter-protocol 的贡献

language-server-protocol 的贡献


我们非常感谢大家在新功能准备就绪后立即进行试用,请经常回来查看并了解新功能。

如果您想阅读以前 VS Code 版本的发行说明,请访问 code.visualstudio.com 上的更新页面。

© . This site is unofficial and not affiliated with Microsoft.