2026 年 2 月(版本 1.110)

发布日期:2026 年 3 月 4 日

下载:Windows:x64 Arm64 | Mac:通用 Intel 硅片 (Silicon) | Linux:deb rpm tarball Arm snap


安全更新:以下扩展程序包含安全更新:GitHub.copilot-chat

更新 1.110.1:此更新解决了核心中的这些安全问题以及 GitHub Copilot Chat 扩展程序中的这些安全问题

欢迎阅读 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 进行交互。

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

  • 引导与排队:允许您在对话中途发送后续消息,以更改代理的方法或排队等待其他请求。

  • 会话重命名

    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 是相同命令的别名。

警告:全局自动审批会跳过所有工具确认提示,允许代理在不等待您确认的情况下运行工具和终端命令。这可以加快较长的多步骤任务,但也意味着您将失去取消潜在破坏性操作的机会。在启用之前,请务必了解安全隐患,并考虑使用终端沙盒来获得额外的保护。

编辑和询问模式更改

设置 chat.editMode.hidden 在 VS Code 中打开 在 VS Code Insiders 中打开 此设置由组织级别管理。请联系管理员进行更改。

随着代理的发展,代理模式现在可以处理编辑模式所能完成的所有工作,甚至更多,且具有更好的性能和可靠性。编辑模式现在在默认情况下对代理选择器隐藏,以便用户无需在不同选项之间进行选择即可获得最强大的模式。您可以通过禁用 chat.editMode.hidden ... 设置来恢复它。

询问(Ask)模式现在由自定义代理定义支持,使其成为一种完全代理化的体验。这解决了之前的局限性,例如在询问模式和代理模式之间切换时需要新的会话。

这两项更改都展示了如何自定义您自己的代理。如果您更喜欢编辑模式或想要自己版本的询问模式,请通过定义其工具、提示词和语言模型来创建满足您需求的自定义代理。当您禁用 ... 时,您可以在代理选择器中选择 View edit agent 操作来查看驱动编辑模式的代理声明,这可以作为您自定义代理的起点。

自定义代理文档中了解如何创建自定义代理。

提问工具

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 ... , chat.plugins.marketplaces ... , chat.plugins.paths ...

VS Code 现在支持代理插件,它们是聊天自定义配置的预打包集合。插件可以包含技能、命令、代理、MCP 服务器和钩子。

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

Screenshot showing the Agent Plugins view in VS Code.

默认情况下,VS Code 从 copilot-pluginsawesome-copilot 仓库检索插件。您可以通过以下设置配置更多来源

  • ... :通过指定 GitHub 或普通 git 仓库来添加额外的插件市场。该设置还支持 Claude 风格的市场,例如 anthropics/claude-code
  • ... :通过指定本地插件目录的路径并启用或禁用它们来注册本地插件目录。

代理插件文档中了解关于代理插件的更多信息。

代理浏览器工具(实验性)

设置 ...

在上一个版本中,我们在 VS Code 桌面版中添加了一个新的集成浏览器,让您可以直接在编辑器中与网页进行交互。但如果您的代理能够自主使用此浏览器并在构建网站的同时验证更改会怎样呢?

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

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

这些工具使代理能够同时进行 Web 应用的编写和验证,并闭合代理的开发循环。

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

要试用这些新工具,请启用 ... 并在此聊天工具选择器中启用浏览器工具。

查看浏览器代理测试指南以获取分步教程。

从聊天中创建代理自定义配置

现在,您可以通过在代理模式下使用新的 /create-* 斜杠命令,直接从聊天对话中生成代理自定义文件。

  • /create-prompt:生成可重用的提示词文件
  • /create-instruction:为项目规范生成指令文件
  • /create-skill:将多步骤工作流提取到技能包中
  • /create-agent:创建专业的自定义代理角色
  • /create-hook:为生命周期自动化创建钩子配置

每个命令都会引导您完成创建过程,并让您选择用户级别(全账号)或工作区级别(特定项目)的存储。

这些命令还可以从正在进行的对话中提取模式。例如,在调试了多个轮次的问题后,使用 /create-skill 将过程捕捉为可重用的技能,或使用 /create-instruction 将更正内容转化为项目规范。

您无需记住具体的斜杠命令。您还可以使用自然语言,例如“save this workflow as a skill”或“extract an instruction from this”,代理会识别您的意图并启动正确的创建流程。

相同的生成选项可从提示词、指令、技能和代理的快速选择菜单中获得,以闪烁图标标出。

用法与重命名工具

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

代理应能自动识别这些新工具。然而,我们发现代理强烈倾向于使用 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.

更智能的会话

当代理记住上下文、高效委托研究并保持您的内联编辑同步时,长期运行的多轮任务效果会更好。这些改进使会话更具弹性和上下文感知能力。

用于计划的会话记忆

由计划代理创建的计划现在会持久保存到会话记忆中,并在对话轮次间保持可用。当您要求优化时,代理会在现有计划的基础上进行构建,而不是从头开始。

在同一会话中收到无关消息后,计划也会被回溯,因此您可以在不重复上下文的情况下返回到计划。在较长的实施工作期间,即使为了释放上下文空间而压缩了旧的对话历史记录,该计划仍保留在内存中。

上下文压缩

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

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

  • 在聊天输入框中输入 /compact。您可以选择在命令后添加自定义指令来引导总结的生成方式,例如 /compact focus on the database schema decisions

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

Screenshot showing the context window control and the compact option.

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

使用 Explore 子代理进行代码库搜索

设置 ...

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

Explore 默认使用快速模型(Claude Haiku 4.5, Gemini 3 Flash)以保持研究速度,而计划代理使用完整模型进行规划。您可以通过 ... 设置覆盖模型。将鼠标悬停在聊天中的 explore 任务上,即可查看研究使用的模型。

注意:Explore 不能直接作为独立代理调用。它仅作为按需使用的子代理提供。

内联聊天与聊天会话

当代理会话已经更改文件时,内联聊天现在总是将新消息排入该会话,而不是孤立地进行更改。这确保了完整上下文得到使用,且在审查代理编辑时也很有用。

派生聊天会话

现在,您可以分叉一个聊天会话,创建一个继承原始对话历史记录的新的独立会话。这在您想要探索替代方法、提出侧面问题或在不丢失原始上下文的情况下将长对话分叉到不同方向时非常有用。

分叉会话有两种方法

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

Screenshot showing the Fork Conversation button on a chat request.

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

聊天体验

聊天界面的小改进积少成多:更简洁的模型选择器、工具输出造成的视觉干扰更少,以及即使您在埋头处理其他文件时也能送达的通知。

重新设计的模型选择器

我们重新设计了语言模型下拉菜单,以改进为任务选择合适模型的过程。新的下拉菜单将模型组织成清晰的部分

  • Auto 始终显示在列表顶部。
  • 特色和最近使用的模型 紧随其后。最多显示四个最近使用的模型,并与为您账号精心挑选的特色模型一起显示。随着您的使用,模型会自动移动到此部分。
  • 其他模型 是一个可折叠组,包含剩余的可用模型。展开它还会显示底部的 Manage Models 选项。
  • 搜索框允许您按名称快速过滤模型。

每个模型条目都显示一个丰富的悬停提示,包含模型详情,如功能和上下文窗口大小。当前 GitHub Copilot 计划中不可用的模型也会显示,但无法选择。

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

设置 ...

VS Code 现在在“聊天”视图中显示上下文提示,以帮助您发现功能并充分利用您的 AI 编码体验。当您开始新聊天会话时,提示会出现,并根据您的使用模式进行调整。为了避免造成干扰,仅会建议您尚未尝试过的功能,使其相关且可操作。

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

提示涵盖多种功能,包括

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

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

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

自定义思考短语

设置 ...

在推理或工具调用期间显示的加载文本现在可以自定义。您可以使用预定义的自定义短语,通过 replace 模式完成现有的默认短语,或使用 append 将自定义短语添加至现有的默认短语中。

替换默认值的示例

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

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

可折叠终端工具调用

设置 ...

代理模式下的终端工具调用现在显示为可折叠部分。每个终端命令不再以漫长的终端输出填满对话,而是显示为一个摘要标头,您可以展开它以显示完整输出。这减少了视觉噪音,并使扫描多步骤代理交互变得更容易。此功能可通过 ... 设置禁用。

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

用于聊天响应和确认的 OS 通知

设置 ... , ...

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

现在,您可以将设置值设为 always,从而配置这些通知,即使在窗口处于聚焦状态时也会显示。

内联聊天悬停模式

设置 ...

内联聊天正在从“行间 (in-between lines)”UI 转向基于悬停的 UI。您可以通过 ... 启用它,这使内联聊天输入更像重命名体验。提交提示词后,进度和结果会显示在右上角。

内联聊天展现 (Affordance)

设置 ...

为了提供更简单的启动内联聊天的方法,我们添加了两种展现形式,它们会显示在您的选中项旁边。它们与灯泡图标结合使用,且不会妨碍您的操作。

... 设置有三种可能的值

off
文本选中时不会显示任何展现形式
editor
在编辑器中选中项旁边显示菜单
gutter
在编辑器装订线(行号区域)的选中项旁边显示菜单

辅助功能

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

切换可访问视图中的思考内容

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

聊天问题轮播现在完全支持屏幕阅读器用户

  • 问题会伴随其位置进行播报(例如,“问题 1/3”)
  • 使用 Alt+NAlt+P 在问题之间导航
  • 使用 ⇧⌘A (Windows, Linux Ctrl+Shift+A) 在问题轮播和聊天输入之间切换焦点
  • 在屏幕阅读器模式下,焦点不再自动移动,以防造成干扰

聊天问题和确认的通知

设置 ... , ...

当聊天提出问题或需要确认时,VS Code 现在会播放辅助功能信号并在启用时显示 OS 通知。这有助于您即使在另一个窗口中工作时也能了解待处理的操作。

切换 TODO 列表焦点的键盘快捷键

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

在可访问视图中记住光标位置

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

查找和过滤辅助功能帮助

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

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

帮助内容解释了可用的键盘快捷键、导航模式和上下文特定的行为。当聚焦时,查找组件也会播报“Press Alt+F1 for accessibility help”(由 ... 控制)。

快速输入屏幕阅读器改进

“转到行”对话框 (⌃G (Windows, Linux Ctrl+G)) 和其他快速输入框现在在屏幕阅读器下运行得更好

  • 键入时会播报字符
  • 箭头键导航在输入字段内工作正常
  • 导航列表项目时进行正确的播报
  • 导航后播报行和列位置

屏幕阅读器引导指示器

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

辅助功能技能

一个新的内置辅助功能技能有助于确保新功能包含适当的辅助功能支持。当您要求代理创建新功能并使其具有可访问性时,它会自动引用辅助功能指南和模式。

聊天中的复选标记

设置 ...

此迭代中,为了简化聊天视图并使其更一致,复选标记现在默认从工具调用和可折叠片段前移除。如果您希望在聊天中将复选标记作为指示器, ... 将重新启用它们。

编辑器体验

模态编辑器(实验性)

设置 ... , ...

我们正在为一个新的模态编辑器体验进行实验,用于那些您通常简短打开然后又回到活动任务的编辑器。模态编辑器漂浮在编辑器上方,不会影响编辑器标签页的布局。要关闭模态编辑器,请按 Escape。模态框有一个将编辑器移回标签页的操作,以及最大化模态体验的操作。

Screenshot showing a modal settings editor.

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

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

... 设置为 some 以加入此体验。

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

另一个设置 ... 将模态编辑器的使用扩展到扩展程序。此体验仍在进行中,将来可能会发生变化,但我们希望现在将其提供出来供反馈

Screenshot showing a modal extensions editor.

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

可配置的通知位置

设置 ...

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

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

设置编辑器清理

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

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

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

代码编辑

远程下一次编辑建议

下一次编辑建议 (NES) 通过不仅在光标处,而且在附近预测您接下来会更改的内容,从而扩展了幽灵文本。我们一直在推进这一体验,通过“远程下一次编辑建议”,将 NES 扩展到预测和建议文件中的任何位置的编辑,而不仅仅是在当前光标位置附近。

阅读关于远程下一次编辑建议的博客文章,了解更多关于它是如何构建的,从创建训练数据集,到优化 UX、评估成功等。确保您已在 VS Code 中启用了 NES ( ... ) 和扩展的 NES 范围 ( ... )。

NES 的主动性 (Eagerness)

Copilot 状态栏项目现在包含下一次编辑建议的主动性选项。此选项让您可以在获得更多可能相关性较低的建议,或更少可能更有用的建议之间进行选择。

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

最初,此选项主要影响建议的时间。随着 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') 定义的方法,则这些属性将默认显示在调试器中。这允许您提供复杂对象更易于理解的视图。

Screenshot showing custom debug properties displayed in the debugger.

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

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

此前,调试浏览器时,您可以在 Event Listener Breakpoints 视图中设置断点。我们将此视图重命名为 Browser Options

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

终端

Kitty 图形协议

设置 ... , ... , ...

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

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

要启用图像渲染,请将 ... 设置为 true,并确保 ... 设置为 onauto。在 Windows 上,您还需要启用 ...

可以使用诸如 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"

配置完成后,诸如终端:打开新的外部终端之类的命令以及在外部终端中启动的调试配置都将在 Ghostty 中打开。

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

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

当您在多根工作区中使用 ⇧⌘C (Windows, Linux Ctrl+Shift+C)终端:打开新的外部终端命令打开外部终端时,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 中打开

现在可以通过在 chat.tools.terminal.sandbox.network 在 VS Code 中打开 在 VS Code Insiders 中打开 中启用 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 扩展 在经过一年的预览后,现正向所有用户推出。该扩展提供了一个统一的界面,用于在 VS Code 中直接管理 Python 环境、包和解释器,无论您使用的是 venv、conda、pyenv、poetry 还是 pipenv。

关键功能包括

  • 快速创建:使用您的默认管理器和最新的 Python 版本,只需单击一下即可创建环境。
  • Python 项目:为 monorepo 和多服务工作区中的特定文件夹分配环境。
  • uv 集成:安装 uv 后,环境创建和包安装速度更快。
  • 内置包管理:在“环境管理器”视图中搜索、安装和卸载包。
  • 可移植设置:环境配置使用管理器类型而不是硬编码路径,使 settings.json 在不同机器间具有可移植性。

预计该扩展将在接下来的几周内自动启用,您也可以通过 python.useEnvsExtension 设置立即启用。

有关更多详细信息,请阅读 发布公告博客文章 或查看 Python 环境文档

对扩展的贡献

GitHub 拉取请求

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

  • 可以同时打开多个拉取请求和问题描述。
  • 设置 githubPullRequests.autoRepositoryDetection 可以设置为 true,以包含工作区之外的存储库。
  • 现在,“问题”视图中会隐藏没有匹配问题的存储库。

查看扩展 0.130.0 版本更新日志,了解有关此版本的所有信息。

扩展开发

Webview 和自定义编辑器现在可以使用 ThemeIcons 作为其图标路径

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

聊天项目控制器 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 进行扩展打包

我们已将大部分内置扩展迁移至使用 esbuild 而非 webpack 进行打包。Esbuild 被用于构建这些扩展的桌面版和 Web 版。

此迁移简化并加快了我们的构建速度。目前仅剩少数几个扩展需要迁移,我们希望在三月份完成这项工作。

已弃用的功能和设置

此版本中的新弃用项

  • 编辑模式 (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.