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

2025年11月(版本1.107)

发布日期:2025年12月10日

更新 1.107.1:此次更新改进了代理会话体验,添加了一个代理工作流教程,并解决了这些问题。主要亮点包括:

  • 代理会话视图默认为并排显示,并记住您的切换状态。
  • 需要您输入的智能代理会话现在已清楚标记。
  • 在创建后台会话时支持复制工作区更改。
  • 创建新会话时聊天提示未清除。
  • 工具调用在云会话中现在默认折叠。

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


VS Code 1.107 引入了多代理编排 - 可以将 GitHub Copilot 和自定义代理一起使用,以加速并行开发。

  • Agent HQ 为您提供一个管理所有代理的集中位置,使 Copilot 和自定义代理能够跨任务协作。
  • 后台代理 在独立的工作区运行,不会干扰您的活跃工作,并且可以同时启用多个后台任务。
  • 委托将工作分配到本地、后台或云代理,以保持您的工作流程不间断地进行。

VS Code 2025年11月发布版本图像。


观看我们的VS Code 1.107 发布亮点视频,听我们的工程师介绍这些功能!

快乐编码!


在线阅读这些发行说明 更新code.visualstudio.com
内部测试人员: 下载最新的内部测试版本 以尽快尝试最新更新。


Agent

整合代理会话和聊天

设置

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

更新 1.107.1:此更新显著改善了并排会话体验。现在,隐藏会话的切换选项会记住您的选择,使您可以随意调整聊天视图的大小。开始使用代理工作流程教程

代理是自主执行编码任务的关键。聊天界面是与代理互动的主要方式,无论它们在哪里运行:在 VS Code 中本地运行,使用 CLI 在后台运行,云端运行,或来自第三方扩展。了解更多关于在 VS Code 中使用代理的信息,请参阅我们的文档。

在这一迭代中,我们将代理会话整合到聊天视图中,以便在与代理合作时为您提供统一的体验。您可以随时查看会话的状态、进度和文件更改统计数据。您可以将会话归档或取消归档,以保持会话列表的可管理性。

如果您正在一个工作区中,会话列表只显示与当前工作区相关的会话。如果您在一个空Windows中,将显示所有工作区中的会话。

当您从列表中选择一个会话时,它将在侧栏的聊天视图中打开该会话,使您可以查看完整的对话历史记录。如果您愿意,您也可以将会话打开为编辑标签或在新Windows中打开。右键单击一个会话以查看包含这些选项的上下文菜单。

显示会话列表中会话上下文菜单的截图。

您可以通过配置在聊天视图中禁用会话列表

chat.viewSessions.enabled
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
输入:.

由于这一更改,我们默认禁用了独立代理会话视图。如果您希望继续使用独立视图,可以通过

聊天.代理会话查看位置
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
在未来版本中,我们计划完全移除独立视图。

紧凑视图

当聊天视图变窄时,如果您开始一个新的聊天会话,聊天视图中将显示会话列表。默认情况下,列表显示三个最新的未归档的会话。

截图显示了聊天视图中的最近会话。

选择 显示所有会话 以查看完整的会话列表,并提供搜索和过滤选项。

截图显示聊天视图中的所有会话。

您可以使用此操作切换代理会话侧边栏,以获得所有会话的更广泛体验。

并排视图

一旦聊天视图足够宽(例如,最大化时),代理会话列表会自动与聊天视图并排显示。此视图允许您在会话之间快速导航而不会丢失上下文。您还可以使用相应的控件手动切换此并排视图。

截图显示所有会话并排显示聊天视图。

要限制会话列表,您可以按提供者或状态筛选会话。VS Code 会保留此筛选。

方向设置

设置

chat.查看会话.方向
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

默认情况下,当聊天Windows足够宽或您手动切换会话列表时,会话列表会与聊天视图并排显示。您可以使用以下选项更改此行为

chat.查看会话.方向
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置。

  • 自动(默认):如果宽度允许,显示会话并排,否则显示在空聊天上方
  • 堆叠: 始终显示在空聊天上方的会话
  • 并排如果宽度允许,显示会话列表并排,否则隐藏会话列表

本地代理会话在关闭时保持活动状态

之前,当您关闭本地聊天会话时,正在运行的代理请求会被取消。这限制了本地代理在长时间运行的任务或同时运行多个任务中的有用性。

现在,本地代理即使在未打开聊天编辑器或聊天视图时也会继续在后台运行。您可以在会话列表中看到正在运行的代理的状态,并且可以随时切换回会话以查看详细进度。

了解更多关于使用聊天中的本地代理

在后台或云代理中继续任务

本地代理非常适合在 VS Code 中进行交互式会话,你可以在与代理的交互中来回讨论。这在头脑风暴、执行探索性任务或制定实施计划时非常有用。一旦你有一个清晰的计划,你就可以将任务交给后台或云代理,让它们自主执行。

在这一版本中,我们改进了体验,以便在与背景或云代理继续本地聊天时使用。在整个用户界面中,您现在可以使用新的继续在选项无缝继续任务。

当您将本地聊天继续到后台或云代理时,当前聊天上下文会传递下去,并且在移交后将原始会话归档。

  • 聊天视图:

    截图显示聊天视图中的“继续”按钮。

  • 计划代理:

    截图显示在使用计划代理时的“开始实施”按钮。

  • 未命名提示文件:

    截图显示了一个未命名提示文件中的“继续”按钮。

使用Git工作树隔离后台代理

背景代理(以前称为CLI代理)旨在后台自主运行,使您能够在专注于其他工作时将任务卸载。如果多个背景代理同时修改您的工作区中的相同文件,同时运行多个背景代理可能会导致冲突。

在这一迭代中,我们通过引入对Git工作树的支持来增强背景代理的隔离。当您创建一个新的背景代理时,您可以选择在当前工作区上运行它,或者在专用的Git工作树中运行它。

截图显示在创建后台代理时的Git工作树下拉菜单。

当您在一个工作树中运行背景代理时,代理会自动为会话创建一个新的Git工作树,将其更改隔离在单独的文件夹中。这使您可以在不发生冲突的情况下同时运行多个背景代理。

当背景代理完成其任务时,您可以轻松地将工作树中所做的更改 review 并合并回您的主要工作区。我们还添加了一个新操作,可直接将工作树中的更改应用到您的工作区。

背景代理的截图,显示了工作树中发生的文件更改。

了解更多关于使用VS Code 中的背景代理

为后台代理添加上下文

背景代理现在支持多种上下文附加类型。您可以将选择、问题、符号、搜索结果、git提交等附加到任何提示上。这使得构建更丰富、更精确的提示成为可能,解锁更复杂和灵活的工作流程。例如,附加一个报告的问题并要求代理修复它,而无需手动指定文件路径和行号。

带有符号和错误上下文的后台代理会话的截图。

在你的 GitHub 组织中共享自定义代理(实验性)

设置

github.copilot.chat.customAgents.showOrganizationAndEnterpriseAgents
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

之前,您只能在工作区或用户级别定义自定义代理。如果您希望在组织内共享自定义代理,您必须手动将代理文件分发给每个用户。

在此次发布中,您可以为您的 GitHub 帐户在组织级别定义自定义代理。此实验性功能使您能够在聊天中使用特定于组织的代理和您的个人代理。

要启用此功能,请设置

github.copilot.chat.customAgents.showOrganizationAndEnterpriseAgents
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
一旦启用,您组织创建的自定义代理将出现在 VS Code 的代理下拉菜单中。

要了解更多有关为您的组织创建自定义代理的信息,请参阅在GitHub文档中创建自定义代理

使用自定义代理和后台代理(实验性)

设置

github.copilot.chat.cli.customAgents.enabled
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

您现在可以将自定义代理带入到后台代理中。一旦启用,定义在您的.github/agents文件夹将出现在您的代理列表中,使您可以利用符合您的工作流程和需求的代理。

此实验功能可以通过以下方式启用

github.copilot.chat.cli.customAgents.enabled
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置。

截图显示在代理下拉列表中,一个带有自定义Planner代理的背景代理会话。

了解更多关于定义自定义代理的信息,请参阅我们的文档。

代理工具重组

我们重新组织了代理工具结构,以更好地与 GitHub 自定义代理兼容。这使您能够在 VS Code 和 GitHub 环境之间更轻松地重用自定义代理,而无需单独配置。

作为此次更改的一部分,我们重新命名了一些现有的工具引用及其所属的工具集。您的代理文件中的现有工具引用将继续有效,但您将看到一个代码操作,建议将其重命名为最新的推荐格式。这确保了您的代理配置遵循当前的最佳实践,并在不同平台上保持兼容性。

以子代理运行代理(实验性)

设置

聊天.子代理中的自定义代理.已启用
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

当一个代理需要解决一个复杂的问题时,它可以将任务委托给子代理。子代理独立于主要聊天会话,并且有自己单独的上下文Windows。这有助于保持主要对话的专注度,并有助于管理上下文Windows的限制。

在这个版本中,你可以通过自定义代理来自定义子代理。自定义代理让你可以为AI定义专门的人物,使其行为适应特定的任务或领域。例如,一个代码审查代理专注于审查代码,而不是更改代码。

要将自定义代理用作子代理,请按照以下步骤操作:

  1. 启用

    聊天.子代理中的自定义代理.已启用
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开

  2. 如果你还没有定制代理,可以使用聊天:新定制代理命令来创建一个。

  3. 在聊天中,询问模型 "你能够使用哪些子代理?" 以查看可用的子代理列表。你的自定义代理应该会出现在列表中。

  4. 输入一个符合您的自定义代理要求的提示。语言模型使用自定义代理描述和参数来确定是否应将其用于您的请求。

    使用自定义代理作为子代理的聊天对话截图。

为了防止自定义代理被用作子代理,请设置元数据属性推断假的*.agent.md文件。

了解更多关于在聊天中使用子代理的信息。

重复使用你的Claude技能(实验性)

设置

chat.useClaudeSkills
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

技能是由Claude Code引入的,是代理可以按需加载的能力。每个技能都有一个简短的描述,用于宣传该技能。如果技能有用,代理可以选择阅读完整的技能说明。技能说明可以附带支持文件,如脚本和模板。 一旦加载,技能说明和支持文件将成为主对话的上下文的一部分。

VS Code 现在可以重用您现有的技能。启用

chat.useClaudeSkills
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置允许智能体发现和使用您的技能。

显示在 VS Code 中聊天中重复使用 Claude 技能的截图。

VS Code 支持在以下位置找到的个人技能~/.claude/skills/skill-name/SKILL.md在工作区文件夹中找到的项目技能${workspaceFolder}.claude/技能/技能名称/SKILL.md输入:.

检查该SKILL.md文件有一个描述在头部中声明技能的属性。请注意,允许的工具VS Code 不支持该属性。

在代理模式下,确保启用读取文件工具,并询问“你有什么技能”以确定是否找到技能。接下来,提出一个可以用技能回答的请求。如果代理不使用技能,请改进技能描述或引导模型使用技能。

聊天

内联聊天用户体验

设置

立式聊天启用V2
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

我们继续改进内联聊天体验,使其与 VS Code 中的其他聊天体验保持一致,并优化其用于快速单文件代码更改。

之前,你也可以使用内联聊天来处理一般问题和讨论。现在,内联聊天已经被优化用于当前文件中的代码更改。对于内联聊天无法处理的任务,你会自动升级到聊天视图,你的提示将会被重新发送,使用相同的模型和相同的上下文。

这个

立式聊天启用V2
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置(预览)现在只控制扩展如何处理您的提示。这仍在开发中,但可以放心尝试。

语言模型编辑器

VS Code 中的聊天支持多种语言模型,这些模型可以由 GitHub Copilot、第三方扩展或通过自定义密钥(BYOK)提供商提供。管理所有这些模型可能会很具有挑战性,尤其是当您拥有来自不同提供商的许多模型时。了解更多关于在 VS Code 中使用语言模型的信息。

语言模型编辑器提供了一个集中查看和管理VS Code中所有可用聊天语言模型的地方。您可以通过聊天中的模型选择器打开它,或者通过命令面板使用聊天:管理语言模型

编辑器列出所有可供您使用的模型,显示诸如模型功能、上下文大小、计费详情和可见性状态等关键信息。默认情况下,模型按提供者分组,但您也可以按可见性分组。

将鼠标悬停在模型名称或上下文大小上,以查看包括模型ID、版本、状态和令牌分配在内的详细信息。

您可以使用以下方式搜索和筛选模型:

  • 文本搜索与高亮显示
  • 提供者过滤器:@提供者:"OpenAI"
  • 能力过滤器:@功能:工具@功能:视觉@功能:代理
  • 可见性过滤器:@可见: true/false

管理模型可见性

随着可用模型的增加,模型选择器可能会变得令人应接不暇且难以导航。在语言模型编辑器中,您可以切换每个模型的可见性以控制哪些模型出现在模型选择器中。将鼠标悬停在模型上并选择眼睛图标以切换其可见性。

添加来自已安装提供者的模型

从语言模型编辑器中,你可以通过添加模型...来添加更多的模型。这将显示所有已安装的模型提供者下拉列表。选择一个提供者进行配置,并将其模型添加到VS Code中的聊天中。

这使得在不离开语言模型编辑器的情况下激活已安装的其他模型提供者变得很容易。通过选择提供者行上的齿轮图标来访问提供者管理。

URL和域名自动批准

在这一迭代中,我们增强了自动批准URL的获取工具的安全性和用户体验。当模型决定从一个你没有明确要求的URL获取内容时,你会看到新的两步批准体验:

  • 批准初始请求以获取URL

    这一步确保您信任正在联系的域,并可以防止敏感数据发送到不受信任的网站。

    截图显示确认批准初始获取请求。

    您可以选择一次性批准或自动批准未来的对该特定URL或域的请求。

    预批准遵循“受信任域”功能。如果域在其中列出,您将自动批准向该域发送请求,并跳转到响应审核步骤。

  • 批准在聊天和后续工具调用中使用获取的内容

    这一步确保您在将获取的内容添加到聊天或传递给其他工具之前进行审查,从而防止潜在的提示注入攻击。

    例如,您可能会批准从知名网站(如GitHub.com)获取内容的请求。但由于这些内容是用户生成的,其中可能包含有害内容,这些内容可能会操纵模型的行为。

了解更多关于URL和域名批准的信息在VS Code聊天中。

更强大的获取工具

#获取代理工具现在更有效地处理动态网页内容。它可以检索动态内容,而不仅仅是静态HTML。依赖JavaScript加载内容的网站,例如单页应用程序(SPAs)、现代文档站点或像Jira这样的问题跟踪系统,不再返回不完整或空的结果。

获取工具在检索页面之前会等待JavaScript执行和内容加载,确保动态渲染的内容被捕获。这一改进使该工具在实际场景中更加有用。

当你使用#获取跟随一个URL,模型访问你在浏览器中实际看到的内容,而不仅仅是最初的HTML框架。这意味着在对网页提问或要求模型分析在线内容时,获得更准确和完整的信息。

文本搜索工具可以搜索被忽略的文件

#文本搜索工具现在支持在由指定的被忽略的文件/文件夹中搜索files.exclude搜索.排除设置或.gitignore文件,例如节点模块文件夹。当没有结果时,它还会向代理返回有关被忽略的文件/文件夹的提示,使代理能够立即启用对这些被忽略的文件/文件夹的搜索。

丰富的终端输出在聊天中

使用切换输出终端中运行的响应现在将输出渲染为一个完整、只读的xterm.js终端内聊天。 这种方法的一个好处是 VS Code 会保留捕获的输出,即使支持终端已退出,您也可以随时重新打开以前的运行并看到命令运行时的终端输出。

聊天终端现在采用集成终端的颜色主题,以改善ANSI颜色对比。屏幕阅读器用户可以打开无障碍视图⌥F2(WindowsAlt+F2,LinuxShift+Alt+F2当输出获得焦点时,可以轻松查看和导航。

了解更多关于在聊天中使用终端命令的信息。

命令状态详细信息在聊天终端中

聊天终端消息现在在悬停命令装饰时显示命令开始时间、持续时间和退出代码。

终端截图显示npm install candy由代理运行,并且命令装饰悬停显示命令执行时间和状态。

允许此会话中的所有终端命令

为了优化您的聊天体验,同时保持安全性和控制权,终端工具新增了一个自动批准选项,允许会话中的所有未来命令。当您开始一个新会话时,终端命令将遵循现有的批准配置。

截图显示在批准聊天中的终端命令时此会话中的允许所有命令选项。

聊天终端操作的键盘快捷键

您现在可以将焦点集中在最近的聊天终端⇧⌥⌘T(Windows, Linux Ctrl+Shift+Alt+T或切换其扩展状态⇧⌥⌘O(Windows, Linux Ctrl+Shift+Alt+O通过专用的键盘快捷键。

自定义代理的键盘快捷键

每个自定义代理现在都有命令列表中的单独操作,您可以单独为它们绑定键盘快捷键。例如,如果您定义了一个“代码审查代理”自定义代理,命令面板中将有一个聊天:打开聊天(代码审查代理)命令可以绑定键盘快捷键。

命令面板中自定义代理命令的截图。

Azure 模型提供者:Entra ID 作为默认身份验证

设置

github.copilot.chat.azureAuthType
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

默认情况下,Azure 模型提供者现在在连接到自定义密钥(BYOK)模型时使用 Entra ID 认证,提高了安全性并提供了更流畅的登录体验。

如果您更喜欢使用 API 密钥进行身份验证,请设置

github.copilot.chat.azureAuthType
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
apiKey而不是进入ID(默认)。

人类模型:扩展思维支持

设置

github.copilot.chat.anthropic.thinking.budgetTokens
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

Anthropic模型现在支持扩展思维,这默认启用在所有Anthropic扩展思维模型中。扩展思维通过允许Claude在生成响应之前花费额外的代币于其逐步思考过程中,为复杂任务提供了增强的推理能力,从而产生更周到和准确的输出。

默认的思维预算设置为4000个令牌。您可以修改这个预算。

github.copilot.chat.anthropic.thinking.budgetTokens
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置以调整模型可以用于扩展思维的令牌数量。要完全关闭扩展思维,请将预算设置为0输入:.

注意:交错思考,使 Claude 能够在工具调用之间进行推理,仅在通过自定义密钥(BYOK)使用 Anthropic 模型时可用。它使用上面配置的相同的思考预算设置。

聊天视图外观改进

我们对聊天视图的外观进行了多项改进,以提高可读性和可用性:

  • 聊天标题:

    当你打开一个聊天时,一个新的标题控制会出现在顶部,显示聊天的标题,并且提供一个快速返回到空聊天的方式。通过以下方式配置此行为

    聊天.查看标题.启用
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    设置。

  • 欢迎横幅:

    如果您在打开新聊天时更喜欢简约的体验,新的设置

    chat.viewWelcome.enabled
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    使你隐藏图标和欢迎文本。

    隐藏图标和欢迎文本的空聊天视图截图。

  • 恢复之前的聊天会话:

    当你重启或打开不同的工作区后打开聊天时,之前的会话现在默认会恢复。你可以通过以下方式更改此行为

    聊天.查看恢复以前的会话
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    设置并选择始终从空聊天开始。

对敏感文件的编辑差异

当聊天尝试编辑敏感文件时,例如settings.jsonpackage.json, 你将收到通知,并在更改应用之前被要求进行批准。你可以通过以下方式配置哪些文件被认为是敏感的

chat.tools.edits.autoApprove
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置。

之前,你会看到模型提出的原始编辑,这可能难以理解。现在,我们向你展示提出更改的差异,使审查和批准编辑更加容易。

截图显示了聊天中提议的更改差异。

了解更多关于编辑聊天中的敏感文件的信息。

可折叠推理和工具输出(实验性)

设置

chat.agent.thinkingStyle
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
聊天.代理.思考.折叠工具
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

通过语言模型推理和智能体工具输出,聊天对话很快就会变得漫长且难以跟随。在上一迭代中,我们已经改进了在聊天中显示思考代币的方式

chat.agent.thinkingStyle
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置。

在这一迭代中,我们通过引入可折叠的聊天部分来进一步优化聊天体验,例如非推理聊天输出,如工具调用。默认情况下,现在的连续工具调用将被折叠以减少视觉噪音。

可折叠项目(大多数工具和推理文本)将被总结,并为每个可折叠部分提供一个由AI生成的标题。

截图显示多个工具调用在可折叠部分中折叠。

多路转换器

  • 我们增加了对最新MCP规范的支持 (显示更多)。
  • 无需额外设置即可使用 GitHub 远程 MCP 服务器 (显示更多)。

支持最新的MCP规范

VS Code 支持最新的 MCP 规范。2025-11-25这包括但不限于:

这些改进是在……的基础上增加的。2025-11-25VS Code 已经支持的草案功能,例如WWW-Authenticate范围同意、客户端ID元数据文件的认证流程,以及工具、资源和服务器的图标。您可以在MCP网站查看2025-11-25草稿的更改日志。

了解更多关于在 VS Code 中使用 MCP 服务器的信息.

GitHub MCP 服务器由 GitHub Copilot Chat 提供(预览版)

设置

github.copilot.chat.githubMcpServer.enabled
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

GitHub远程MCP服务器现在作为GitHub Copilot Chat扩展中的内置MCP服务器提供,与GitHub存储库和服务无缝集成。这种集成提供了以下几个好处:

  • 与已经使用GitHub MCP服务器的其他Copilot代理工具(如Copilot CLI和Copilot Cloud Agent)保持一致
  • 重用现有的 GitHub 认证状态,消除额外的认证提示
  • 透明支持不同的 GitHub MCP 端点,包括 GHE.com

要启用 GitHub MCP 服务器,请设置

github.copilot.chat.githubMcpServer.enabled
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置为一旦启用,服务器在使用代理时会自动出现在工具选择器中。这使您能够在不进行额外配置和设置的情况下询问有关 GitHub 问题、拉取请求和其他代码库信息的问题。

GitHub MCP 服务器通过多个设置支持定制:

  • github.copilot.chat.githubMcpServer.toolsets
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    : 配置哪些工具是可用的。默认情况下,默认工具集被使用,但你可以通过添加来扩展它工作流程 或其他工具集,如 GitHub MCP 服务器文档 中所述。 注意: 添加某些工具集可能需要额外的权限,并且目前不支持重新认证。请参阅 此 GitHub 问题 以跟踪进度。
  • github.copilot.chat.githubMcpServer.readonly
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    强制服务器仅返回只读工具,防止任何写操作。
  • github.copilot.chat.githubMcpServer.lockdown
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    : 工具行为的额外安全控制。

注意:此功能目前处于预览阶段,需要通过上述提到的设置明确选择。我们计划在未来版本中默认启用此功能,使其在需要时可用,而在不需要时不会造成干扰。

无障碍

键盘确认聊天确认信息

当代理需要确认时,您现在可以通过键盘使用⌘Enter(Windows, LinuxCtrl+Enter进行批准。

编辑体验

更多支持以指示在选择器中打开的Windows

我们为当工作区已经在VS CodeWindows中打开时添加了一个指示器到打开最近选择器中。

最近打开的工作区截图。

当前活动Windows的指示方式与其他打开的Windows稍有不同,以使这种区别更清楚。未在任何Windows中打开的条目没有图标。

活动Windows指示器也已应用于Windows选择器。

macOS: 用鼠标滑动以导航

设置

工作台编辑器.滑动以导航
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

在 macOS 上,您现在可以通过 Trackpad 的三指滑动手势在编辑器之间导航。向左或向右滑动可以在任何编辑器组中导航到最近使用的编辑器。启用此功能

工作台编辑器.滑动以导航
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置。

注意:我们目前仅支持三指滑动手势。请确保您的触控板滑动手势设置配置如下以使其生效:

  • 在页面之间滑动:用三根手指向左或向右滚动。
  • 在全屏应用之间切换:用四根手指向左或向右滑动。

按需编辑器悬停弹出Windows

设置

编辑器悬停启用
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

您现在可以在编辑器中禁用自动悬停弹出Windows,同时保留使用键盘修饰符按需触发悬停信息的能力。

编辑器悬停启用
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置现在支持三个值:,和在键盘修饰符输入:.

当设置为在键盘修饰符悬停信息只有在你按住与你的相反的修饰键时才会出现

编辑器.多光标修饰符
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
在代码上悬停时设置。这在选择文本时减少了视觉干扰,同时在需要时可以快速访问上下文信息。

例如,如果你的

编辑器.多光标修饰符
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置为控制命令,悬停显示当您按住Alt时悬停。如果设置为输入:alt悬停出现当你按住Ctrl(或在macOS上按住Cmd)。

代码编辑

  • TypeScript 提供重命名建议 (显示更多)。
  • 使用新的模型来获取下一个编辑建议 (显示更多)。
  • 预览下一个编辑建议在你的视口之外 (显示更多)。

TypeScript的重命名建议

重命名建议预测符号重命名的最佳时机,而不是普通的文本建议。当预测时,会显示一个额外的指示器,与正常的文本编辑一起显示。然后,你可以通过使用Shift+Tab来应用符号重命名。

在下面的视频中,财产一个重命名为宽度重命名建议然后建议重命名输入:b高度以及重命名这两个参数一个输入:b相应地。下一个重命名建议在预测与其他符号相关的重命名时效果最佳。

注意:目前,此功能正在通过实验向我们的用户群体推出,仅对 TypeScript 可用。对其他编程语言的支持正在计划中。

新的模型用于下一次编辑建议

我们发布了一个新的模型,用于提供下一个编辑建议,这个模型更智能,并且更符合您最近的编辑。它在接收和拒绝建议的表现上有了显著的提升。了解更多关于该模型及其开发的信息,请参阅我们的GitHub博客文章。

预览下次编辑建议在视口之外

当您收到一个当前视口中看不到的下一个编辑建议时,要在不离开当前位置的情况下了解该建议的内容可能会很困难。我们通过在光标当前所在位置渲染下一个编辑建议的预览来改善这种体验。这有助于在查看建议时减少对您的工作流程的影响。

注意:我们当前的语言模型专注于光标附近的下一个编辑建议,因此您可能不常常见到视口中以外的建议。然而,我们正在积极开发可以为您提供更远处建议的模型!

了解更多关于VS Code中的内联建议

源代码管理

源代码管理仓库视图中的隐藏区(实验性)

设置

scm.repositories.explorer
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
scm.repositories.selectionMode
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

这个里程碑,我们通过添加一个Stashes节点,继续扩展源控制仓库视图中显示的仓库工件列表。在这个节点下,你可以看到完整的stashes列表,查看、应用和弹出每个stashes。上下文菜单中也包含一个删除每个stashes的操作。

源代码管理库视图的屏幕截图,显示了Stashes节点及其上下文菜单。

您可以通过设置启用实验性仓库浏览器

scm.repositories.selectionMode
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
scm.repositories.explorer
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置。请试一下,并告诉我们您希望在资源管理器中看到的其他仓库工件。

了解更多关于在VS Code中使用源代码控制的信息。

调试

将变量附加到聊天

现在您可以在 VS Code 的聊天上下文中附加变量、作用域和表达式。您可以通过在 变量观察 视图中右键点击数据,或者使用聊天中的 添加上下文 按钮来实现这一点。

终端

终端建议已推出至稳定版本

Terminal Suggest 现已为稳定用户启用,在您输入 shell 命令时提供即时完成和上下文提示。建议现在将相关的参数值分组在一起,使选项标志及其参数在列表中保持有组织。

认证

跨平台原生Agent支持微软身份验证

设置

microsoft-认证.实现
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

这个里程碑,我们采用了最新的MSAL库,使您能够通过原生体验进行登录:

  • 英特尔 Mac 电脑
  • Linux x64(仅限某些基于Debian的发行版)

截图显示原生Agent对话Windows要求登录 VS Code。

这是在现有支持之外:

  • Windows x64
  • macOS M系列(ARM)

macOS 和 Linux 支持需要您的机器注册到 Intune 并选择使用原生代理。

这使得单点登录流程非常方便,并且是获取 Microsoft 认证会话的推荐方法。MSAL 团队将随着时间的推移为剩余的平台(Windows ARM、Linux ARM 和其他发行版)启用此功能,请持续关注!

注意:如果您在通过Agent进行身份验证时遇到问题,您可以更改

microsoft-认证.实现
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
msal-无-broker,这将使用您的浏览器进行身份验证。

经典Microsoft 认证不再可用

如上个月所述,我们已经移除了经典选项为

microsoft-认证.实现
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
由于使用率低且未被Entra ID团队推荐。

提醒:该

microsoft-认证.实现
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
该设置允许用户在遇到问题时选择退出使用微软账户的本地代理身份验证。此设置的值为:

  • 微软身份平台 (MSAL)- 在可用时使用 MSAL 进行委托身份验证(默认)
  • msal-无-broker- 在没有代理认证的情况下使用 MSAL

语言

TypeScript 7.0 预览版

我们继续与 TypeScript 团队合作,以改进 VS Code 对 即将发布的 TypeScript 7 版本的支持。TypeScript 7 是用原生代码完全重写的,提供了显著更好的性能。

TypeScript 7 预览版几乎具备了完整的类型检查支持,TypeScript 团队也一直在忙于添加编辑器功能。最近的亮点包括自动导入完成、重命名支持和引用代码透镜。

您今天可以通过安装来试用 TypeScript 7.0。TypeScript(原生预览) 扩展。然后运行 TypeScript(原生预览):启用(实验性) 在JavaScript或TypeScript文件中使用命令,将所有IntelliSense切换到使用原生预览。查看 最新的TypeScript 7博客文章,了解TypeScript 7的完整更新以及TypeScript项目的总体方向。

我们计划继续与TypeScript团队紧密合作,以改进TypeScript 7对VS Code的支持。一旦TypeScript 7准备好,我们的长期计划是将其作为默认体验,驱动VS Code的JavaScript和TypeScript智能感知。如果您需要使用较旧的TypeScript版本或需要无法轻松移植到TypeScript 7的服务插件等编辑器功能,我们计划在可预见的未来继续支持现有的TypeScript版本,同时支持TypeScript 7.0+。

远程开发

这些远程开发扩展允许您通过SSH或远程隧道,或Windows子系统 for Linux(WSL)使用开发容器,作为功能齐全的开发环境。

亮点包括:

  • SSH 重新连接宽限期控制

您可以在远程开发发布说明中了解更多有关这些功能的信息。

企业

了解更多关于VS Code企业功能的信息,请参阅我们的文档。

控制代理工具的自动批准

设置

chat.tools.eligibleForAutoApproval
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
组织

特定的代理工具在没有明确用户批准的情况下使用可能会有风险,特别是那些可以执行破坏性操作、访问敏感数据或在后台运行任意代码的工具(例如,运行任务)。

您现在可以定义哪些工具符合自动批准的条件,使用新的

chat.tools.eligibleForAutoApproval
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
组织设置。当一个工具被拒绝自动批准时,用户不会有在聊天中总是批准该工具的选项,必须明确批准每次使用。

组织可以通过企业策略来强制执行此行为,以增强使用代理时的安全性。

通过策略禁用代理的使用

当企业策略禁用聊天中的代理时,代理选择器现在更好地传达了为什么代理不可用。

代理选择器的截图显示由于企业策略,代理模式不可用。

在Codespaces中支持GitHub Enterprise策略

您可以在 GitHub 上为您的企业和组织指定策略,并在 VS Code 中应用。例如,您可以配置 MCP 注册表 URL 供组织中的开发人员使用。

在此次发布中,我们为使用 VS Code 和 GitHub Codespaces 时添加了这些策略的支持。当开发人员打开一个 Codespace 时,这些策略会自动应用,就像在本地使用 VS Code 时一样。

对扩展的贡献

GitHub 拉取请求

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

  • 拉取请求和问题在拉取请求或问题网页视图活动时隐含上下文。
  • 拉取请求和问题可以通过“添加上下文”明确地添加到聊天会话中。
  • Copilot拉取请求可以使用一个按钮标记为准备好进行审查、批准并自动合并。

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

提议的API

贡献聊天上下文

我们有一个新的 API 提议,允许扩展为聊天贡献上下文提供程序。这使得扩展可以从自己的领域提供丰富的上下文,并在聊天会话中使用。例如,GitHub Pull Request 扩展提供了以下上下文:

  • 工作区上下文,包含有关当前仓库、分支和拉取请求的信息。
  • 在拉取请求或问题上下文的上下文中,当拉取请求或问题的网页视图处于活动状态时。
  • 用户通过“添加上下文”添加显式拉取请求和问题上下文。

该API仍处于早期阶段,因此预计会有变化。我们非常希望了解哪些提案部分能够解决扩展作者的需求。你可以在此找到提案:vscode.proposed.chatContextProvider.d.ts.

工程

构建发布

我们已经开始了在4小时时间段内逐步推出Insiders版本的发布。这意味着,作为Insiders用户,您可能会比平时晚一点收到更新通知。如果您很着急,您可以随时运行检查更新以强制立即应用更新。

我们将在24小时内向稳定用户推出2025年11月(1.107)版本。就像Insiders一样,您始终可以运行检查更新以强制立即应用更新。

改进的网站搜索功能

我们改进了我们的网站,增加了快速的客户端搜索功能,使您能够轻松快速地浏览我们的文档。

我们已经将此功能背后的库开源了:您可以下载 docfind 并立即在您的项目中使用!我们将在博客文章中跟进此技术背后的创新。

更新的构建脚本直接以 TypeScript 运行

在这一轮迭代中,我们清理了我们的构建脚本,使其更易于使用和维护。这些构建脚本是编译后的TypeScript和使用TypeScript文件混合编写的。ts-node,和JavaScript。这些脚本中的许多没有进行类型检查,并且使用了commonjs (要求) 代替现代模块导入出口更糟糕的是,许多 TypeScript 构建脚本需要将编译后的 JS 输出检查到我们的源代码控制中。真是乱成一团!

幸运的是,Node 22.18+ 现在允许直接以 TypeScript 运行脚本。这让我们可以逐步将我们的构建脚本转换为现代的 TypeScript。我们使用了以下 tsconfig 选项,以确保我们的新 TypeScript 代码可以直接由 Node 运行:

{
  "compilerOptions": {
    "target": "esnext",
    "module": "nodenext",
    "noEmit": true, // Don't generate .js files
    "erasableSyntaxOnly": true, // Only allow TypeScript syntax that node can strip out. Enums and namespaces for example are not allowed
    "allowImportingTsExtensions": true, // Allow importing of .ts files
    "verbatimModuleSyntax": true // Make sure imports will be valid when the script is run by node directly
  }
}

GitHub Copilot帮助自动化了许多必需的更改,例如将旧的 commonjs 文件转换为模块并添加类型注释。

需要记住的一点是,虽然Node可以运行TypeScript代码,但它实际上并不进行类型检查。你仍然需要使用翻译结果:tsc为此。对于vscode,我们实际上正在使用ts-go,可以在不到一秒的时间内完全类型检查我们所有的构建脚本。

能够跑步真是太神奇了节点构建/卫生.ts直接切换到TypeScript。全面切换到TypeScript还让我们现代化并为我们的构建脚本带来类型安全,这将使理解和更改它们变得容易得多。此外,它还使我们能够删除大约15,000行以前必须保持检入的编译JavaScript代码!

Copilot扩展统一

设置

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

我们已经全面推出了从 GitHub Copilot Chat 扩展提供内联建议。作为此更改的一部分,GitHub Copilot 扩展将默认禁用所有用户。

如果你在内联建议中遇到任何问题,请报告。你可以通过设置暂时恢复以前的行为。

chat.extensionUnification.enabled
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
假的,重新启用 GitHub Copilot 扩展。

请注意,我们计划在2026年1月完全停用GitHub Copilot扩展,届时

chat.extensionUnification.enabled
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置也将被移除。

重要修复

  • vscode#233635 - 添加一个关闭其他Windows的操作
  • vscode#262817 - 从最左边的组运行“将编辑器移入上一个组”应该在左边创建一个新组
  • vscode#264569 - 设置和移除 window.activeBorder 颜色不会重置Windows边框颜色
  • vscode#140186 - 在打开远程容器作为工作区时无法打开本地终端
  • vscode#228359 - 重新启动终端通常只会关闭终端
  • vscode#232420 - Python3.13中终端光标位置错误
  • vscode#247568 - 终端在文件名中包含冒号时,按Ctrl+Click无法打开文件,前导零被删除
  • vscode#275011 - 在受信任的工作区中使用WSL打开VS Code时出现奇怪的终端消息
  • vscode#275417 - 在WSL上,带有reveal:never, close:true的任务不再有效
  • vscode#277311 - 在命令面板的“最近使用”列表中添加“X”按钮以移除命令
  • vscode#282222 - SCM - 改进git blame/时间线/图形悬停渲染。感谢Stanislav Fort(Aisle Research)
  • vscode-python-environments#1000 - 环境激活在“命令提示符”中无法可靠地工作

谢谢

问题跟踪

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

贡献于Visual Studio Code输入:

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

贡献于vscode-js调试输入:

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

贡献于vscode- Python输入:

贡献于vscode- Python调试器输入:

贡献于vscode- Python- 环境输入:

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

贡献于节点原生键盘映射输入:

贡献于节点pty输入:

贡献于Python 环境工具输入: