VSCode 1.106 版本发布 —— 更强 AI 特性,更丝滑的编程体验!

VSCode 1.106 版本现已发布,这次发布包含了三项重大升级:
- Agent HQ:现在 AI 代理拥有了独立的视窗来统一管理,无论是本地还是远程 AI,来自 Copilot 还是 OpenAI Codex,都集成到了一个视窗内,方便用户集中监控。
- 安全与认证:帮助用户保持对 AI 任务的控制,并能够更有信心地将更多任务委托给 AI。
- 更好的编辑体验:让你的日常编程体验更加丝滑。
代理 (Agents)
代理会话窗口(Agent Sessions view)
当你将任务交给不同的编码代理(coding agents)时,拥有一个清晰的会话概览是很重要的。Agent Sessions view 提供了一个集中位置,用于管理你所有的活动会话。这包括在 VS Code 中的本地会话以及由其他环境中的背景代理创建的会话,例如 Copilot 编码代理、GitHub Copilot CLI 或 OpenAI 的 Codex。
当前这个窗口时默认启用的,你可以通过 chat.agentSessionsViewLocation 来设置。默认情况下这个窗口会按照来源对所有的 AI 会话进行分类,整个视图被划分为本地会话和后台代理会话部分:

如果你更倾向于将所有来源的会话整合到统一的视图中,可以启用 chat.agentSessionsViewLocation 设置中的 single-view 选项。这个选项还会将代理会话视图移动到二级侧边栏的“对话”视图旁,方便用户在对话和管理会话间切换:

注意目前整合视图中的部分功能可能还不能使用,官方也在积极努力争取在不久的将来把这个视图作为默认的功能项。
当前代理会话窗口同样支持查找(Ctrl+Alt+F)来帮你快速定位指定会话:

计划代理(Plan agent)
全新的计划代理将帮助开发者在编写任何代码之前逐步分解复杂任务。在对话视图中从代理下拉菜单中选择“计划”以开始使用。在处理多步骤实现时,VS Code 会以提示的方式进一步向你澄清问题,并生成一个详细的实施计划,你需要先批准该计划,以确保所有需求和上下文都提前被捕捉到。

官方建议在实施之前花时间对计划进行迭代。你可以多次细化需求、调整范围、解决未决问题,从而为项目打下坚实的基础。一旦你批准了计划,Copilot 将在 VS Code 本地或通过云代理实施该计划,这为你提供了更大的控制权和对开发过程的可见性。这有助于你及早发现差距或遗漏的决策,减少返工,提高代码质量。
你还可以创建自己的自定义计划代理,以适应团队特定的工作流程和工具。使用‘配置自定义代理’菜单,将内置的计划代理复制为起点,然后定制计划风格、工具和提示,以匹配你的开发流程。
云代理(Cloud agents)
在这次更新中,官方对编辑器中的云代理会话进行了许多更新。
我们将 Copilot 编码代理集成从 GitHub 拉取请求扩展程序迁移到了 Copilot Chat 扩展程序中,以在 VS Code 中提供更原生的云代理体验。这种集成为 VS Code 和 GitHub Mission Control 之间的更顺畅的过渡和交互铺平了道路,例如可以直接从浏览器中的代理会话视图打开云代理会话,反之亦然。

命令行代理(CLI agents)
在本次发布中,官方还推出了与 Copilot 命令行界面的初步集成。您可以在对话编辑器或集成终端中创建新的 CLI 代理会话或者复用现有的 CLI 代理会话:

在一个命令行代理编辑器中,你可以像终端一样发送信息给 Copilot CLI ,调整模型或者附加上下文:

代理委托(Agent delegation)
当你从 Chat 面板使用 cloud 按钮将任务委托给代理时,你会得到一组可供委托的代理选项。你也可以通过命令行界面(CLI)中的 /delegate命令,在 CLI 编辑器或终端实例中将任务委托给 Copilot 代码代理:

CLI 代理编辑跟踪(CLI agent edit tracking)
现在,对话编辑会话会跟踪由后台代理(例如 Copilot CLI)进行的编辑。当您从“代理会话”视图创建会话时,可以通过内联编辑药丸和工作集视图查看跟踪的编辑,这使得了解代理对工作区所做的更改变得更加容易。
Chat 模式重命名为自定义代理
“Chat modes”(对话模式)重新命名为“custom agents”(自定义代理)。这种更名的目的是为了更好地与在其他环境中所使用的术语保持一致,让术语的使用更加统一和规范,方便用户在不同环境之间进行理解和切换。

当你创建自定义代理时,定义文件现在位于工作区的 .github/agents 文件夹中。这些文件可以使用 .agents.md 后缀,并且也可以用作 GitHub Copilot Cloud Agents 和 CLI Agent。
使用 Chat: New Custom Agent… 来创建新的代理,并使用 Chat: Configure Custom Agents… 来管理它们。
如果你已经有自定义对话模式(.github/chatmodes 文件夹中的 .chatmode.md 文件),它们将继续工作,并且会自动被视为自定义代理。当你在编辑器中打开一个对话代理文件时,第一行会出现一个信息标记,提供一个快速修复,将文件迁移到自定义代理文件。
自定义代理元数据(Custom agent metadata)
自定义代理的 .agent.md 文件现在接受一个额外的 target 前置属性,用于描述代理在不同环境中的运行方式:
target: vscode:将代理优化用于本地对话,并解锁name、description、argument-hint、model、tools和handoffs属性。 VS Code 中任意已安装的工具的可以使用。target: github-copilot:为 Copilot 云代理或 GitHub CLI 准备,支持name、description、tools、mcp-servers和target属性。可用的工具包括edit、search、shell、custom-agent和来自 MCP 服务器的工具。
所有代理都可以在任意环境中运行,各环境会忽略其未知的属性和工具。
name:允许你在不重命名文件的情况下覆盖代理标签。argument-hint:在对话输入中显示提示,以便团队成员知道如何提示代理。handoffs:将任务精准地转交给其他代理,让你可以串联多步骤的工作流程。
代理文件编辑器提供验证、代码补全、悬停提示和代码操作:

代码编辑(Code Editing)
在差异编辑器中,已删除的代码现在可以被选中了
之前,当你删除了代码并在差异编辑器中查看更改状态时,你是无法复制那些被选中的行的。在此次发布中,你可以在使用内联差异视图时从差异编辑器中选择并复制被删除行中的文本:

内联代码提示开源
作为一个开源的编辑器,继官方开源 GitHub Copilot Chat 的第一个里程碑之后,现在又通过将其合并到 vscode-copilot-chat 仓库中,开源了内联代码提示。
作为这一里程碑的一部分,官方将 GitHub Copilot 扩展和 GitHub Copilot Chat 扩展整合为一个单一的扩展体验。Chat 扩展现在提供所有内联建议,在你键入时提供你熟悉的智能代码提示,同时保持所有对话和代理功能。这一变化应该是透明的,你将继续在键入时获得相同的代码建议。如果你遇到任何问题,可以使用 chat.extensionUnification.enabled 设置暂时恢复到之前的版本。
通过编辑器边栏来暂停内联提示
你现在可以直接从边栏图标处暂停内联建议。当你将鼠标悬停在边栏图标上时,会出现一个带有暂停选项的控件。选择它并选择一个持续时间来暂停建议。

优化行跳转(Go to line)
此版本中,官方对 “跳转到行” 命令(Ctrl+G)进行了多项增强,改进了文件内的导航功能。
“跳转到行”命令现在支持通过使用 :: 语法导航到文件中的特定字符位置。当工具报告特定字符偏移量处的错误时(例如“位置 599 处出错”),此功能非常有用。
要导航到字符偏移量,请在“Go To Line”输入框中输入 :: ,然后输入字符编号。例如:
::599- 导航到文件中的第 599 个字符::-100- 从文件末尾向前导航 100 个字符

此外,Go To Line 命令还更优雅地处理了超出范围的值,并且使得跳转到文件和行的开头或结尾变得更加容易:
- 行号:输入大于文件行数的行号会跳转到文件的最后一行。
- 列号:使用负数的列号可以从行的末尾开始定位。例如,:12:-1会跳转到第12行的最后一个字符。输入大于行长度的列号会跳转到该行的末尾。
编辑体验
更新图标
在本次更新中,codicon 图标集进行了更新。新图标经过了优化,增加了曲线、新的修饰设计以及更准确的含义,使它们看起来更加现代、友好且更易读。

Linux 策略支持
当前引入了在 Linux 系统上使用 JSON 文件来管理 VS Code 策略的支持,这使得管理员能够在 Linux 机器上对所有用户强制执行特定的设置和配置。
更多信息可查看以下链接:
https://code.visualstudio.com/docs/setup/enterprise#_json-policies-on-linux
在多文件差异编辑器中定位变更
就像你可以在单个文件的差异编辑器中浏览下一处或上一处的更改一样,你现在可以在多文件差异编辑器中跨文件进行这样的操作。你可以使用快捷键或者导航的上下箭头键来查看你在不同文件中的更改:

复制诊断提示文字
现在在诊断悬浮提示(包括错误、警告、信息和提示)中出现了一个复制按钮,这使得复制错误信息变得更加容易。当你将鼠标悬停在诊断标记上时,将鼠标移动到悬浮消息上,会在右上角显示一个复制按钮。

忽略音调符号的命令筛选
现在,命令面板在搜索命令时会忽略字符的音调符号。无论您使用何种键盘布局或语言偏好,都能更轻松地找到所需命令。例如,当搜索包含法语词“Générer”(意为“生成”)的命令时,您只需输入不带音调的“generer”,匹配结果便会正常显示。
在使用不同键盘布局或输错命令时,此功能非常实用。该筛选技术基于 Unicode Normalization Form D ,并支持所有 Unicode 语言:

高级 VS Code 设置
VS Code 现在支持高级设置的概念。这些设置用于配置特定场景,专为需要对环境进行精细控制的高级用户设计。默认情况下,高级设置在设置编辑器中是隐藏的,这样可以保持界面简洁,同时在需要时提供这些强大的选项。
要查看和配置高级设置,可以在设置编辑器的筛选器下拉菜单中选择“高级”,或者在搜索框中输入@tag:advanced。

当你搜索一个设置的完整名称或使用 @id: 过滤器时,高级设置总是会显示在结果中而无需显式启用高级设置。这确保了你可以正常找到你所需要的设置。
高级设置还可以与其他过滤器结合如 @modified 或 @feature,以便更精确地找到所需的设置,例如 @tag:advanced @feature:terminal,这个组合筛选器会显示出所有与终端相关的高级设置。
注意:插件作者可以通过在设置配置中添加 advanced 标签来将他们的设置标记为高级设置。
对话(Chat)
嵌入工具的选择优化
在本版本中,我们显著改进了对话中启用大量工具(超过100个)时的过滤与分组机制。因此,“正在优化工具选择…”的加载状态出现频率将降低,持续时间也会缩短。此外,我们通过优化提升了工具选择的置信度,有效降低了智能体(Agent)发生混淆的可能性,以确保其能准确调用正确的工具。
工具授权和信任机制
外部数据的后置审核
代理工具现在支持后置审核,这可以帮助防止潜在的提示注入攻击,因为它允许你在对话会话中使用数据之前先对其进行审查。

#fetch 工具和声明了 openWorldHint 的模型上下文协议(MCP)工具已启用后审批功能
信任一个服务或插件的所有工具
现在你可以通过“允许”按钮的下拉菜单,在源代码级别信任 MCP 服务器和扩展工具。这意味着你可以一次性批准来自特定 MCP 服务器或插件的所有工具,而无需单独批准每个工具。
此外还更新了“Chat: Manage Tool Approval”命令的体验,让你可以同时管理工具的预审批和后审批。

工具自动审批状态移动
自动审批状态已经从对话视图中内联的位置移动到了工具调用状态勾选图标的位置:

终端工具
自动审批解析器改进
过去,终端工具中的子命令检测采用了一种较为简陋的方法,即仅依据特定字符串(如 | 或 &&)进行分割。这种方式存在多种缺陷,其中最突出的问题是:当管道符出现在字符串内部时(例如 echo "a|b|c"),系统会错误地将 echo、b 和 c" 识别为不同的子命令。另一个重要缺陷是,由于无法可靠地解析子命令,我们此前不得不全面禁止使用圆括号对、花括号对及反引号,以策安全,防止意外命令执行。
在本版本中,我们为该功能集成了一个解析器,并采用 PowerShell 语法或 Bash 语法(用于其他所有情况*)进行解析。因此,即使面对极其复杂的用例,命令也能被准确提取。

*需要注意的是,这会导致在某些情况下,当使用的 shell 语法与 bash 不同时,它可能无法正确识别子命令。例如在 zsh 中的分号;
文件写入/重定向检测(实验性功能)
得益于全新的解析器,我们现在能够相当可靠地识别通过重定向操作写入的文件。为此,我们新增了一项实验性设置 chat.tools.terminal.blockDetectedFileWrites。当启用该设置时,系统将在检测到文件写入时,有条件地阻止自动批准执行。

禁用默认自动批准规则(实验性功能)
新增的实验性设置 chat.tools.terminal.ignoreDefaultAutoApproveRules 允许禁用所有默认规则(包括允许规则和拒绝规则)。当你希望获得更多控制权,而又无需查看默认规则内容时,此功能非常有用。
Shell专属提示与命令重写
终端工具现已为 PowerShell、bash、zsh 和 fish 提供了针对性的描述。这将使智能体建议的命令更加可靠,降低失败概率,尤其对于 PowerShell 而言改进显著。
此外,针对 PowerShell,我们还会将 && 重写为 ;。因为在 Windows PowerShell (v5) 中并不支持 && 链式操作符。请注意,在 PowerShell 7 中此重写操作将暂时保留,直至 vscode#274548 问题得到解决。
将终端命令附加至对话
现在可以通过命令修饰器的上下文菜单,将终端命令作为上下文附加至对话。该附件会共享命令行、捕获的输出内容及退出代码,从而使智能体能够精确理解所执行命令的实际情况。此功能适用于所有被 Shell 集成所追踪的命令,无需手动复制粘贴文本,即可轻松将问题排查过程交由智能体处理。

在对话界面内查看终端输出(实验性功能)
全新设置项 chat.tools.terminal.outputLocation 用于控制终端命令输出的显示位置。其默认值为 none,可有效防止终端会话堆叠占用面板空间。
现在,每次在对话中调用终端工具时,其进度元素上都会显示两个操作按钮:
- 显示终端:此操作将揭示并聚焦已隐藏的终端会话。在具备完整 Shell 集成的环境下,终端会自动滚动至相关命令处;若仅具备基础或未启用 Shell 集成,该操作仍能准确聚焦至正确的终端标签页。
- 显示输出:此操作将在对话视图内部直接内联展开终端的最终输出。当命令以非零退出代码结束时,输出视图会自动展开。
例如,当 npm i 命令执行失败时,其输出内容将自动展开。同时,您仍可通过内联的“显示终端”操作来快速定位并查看具体的终端会话。

发现隐藏的对话终端(实验性功能)
当设置 chat.tools.terminal.outputLocation 为 none 时,若存在至少一个隐藏的对话终端,终端标签页视图便会显示一个新的「X 个隐藏终端」按钮。点击此按钮将打开一个快速选择面板,其中列出了每个对话终端及其对应的对话会话,使您能立即定位到目标进程。同一面板也可通过终端溢出菜单中的「查看隐藏对话终端」选项访问;当所有对话终端均恢复可见状态后,该入口会自动消失。
示例场景中,智能体运行了 ls -la 命令并成功执行,因此其输出处于折叠状态。用户通过标签页视图中的隐藏终端操作入口,成功选中并揭示了该终端会话,界面自动滚动至高亮显示了所执行的命令。

将对话保存为提示模板
现在可以使用 /savePrompt 命令,将对话会话保存为可重复使用的提示模板。当您在活跃的对话会话中调用此命令时,VS Code 将生成一个提示文件,其中包含基于当前对话内容提炼出的通用化提示。编辑器会显示一个蓝色按钮,允许您将此提示模板保存至有效位置,可选择用户级或工作区级存储。

此功能已取代原先的 /save 命令,为捕获和共享有价值的对话模式提供了更高效的工作流程。生成的提示模板可直接在未来的对话会话中重复使用,也可便捷地在团队内部进行共享。
编辑欢迎界面提示模板
现在可以在对话欢迎界面中,对推荐的提示模板右键点击以访问更多操作。当您右键点击某个提示模板(或按下 Shift+F10)时,将出现一个上下文菜单,其中包含“编辑提示文件”选项,可直接在编辑器中打开对应的提示文件。
此编辑功能适用于所有关联有实际文件的提示模板,包括用户自定义的提示,以及通过 chat.promptFilesRecommendations 设置配置的项目特定提示。

自动打开编辑过的文件
官方已更改智能体的默认行为,现其不再自动在编辑器中打开被修改的文件。若您希望保持先前的行为,可启用 accessibility.ver.openChatEditedFiles 此项设置。
推理过程显示(实验性功能)
在上个迭代中,官方新增了 chat.agent.thinkingStyle 设置,用于在对话中显示智能体的思考过程。现在,更多模型支持此功能!截至本版本,GPT-5-Codex、GPT-5、GPT-5 mini 及 Gemini 2.5 Pro 均已兼容。
chat.agent.thinkingStyle 设置已调整为三种更常见的显示样式,其中默认样式 fixedScrolling 会固定显示区域并滚动展示最新的思考链。
新增设置项 chat.agent.thinking.collapsedTools 可将工具调用信息一并纳入可折叠的思考过程界面中显示。

内联对话 v2(预览版)
官方已加大力度对内联对话进行现代化重构。新版设计定位为:
- 单一提示
- 单一文件
- 仅限代码变更
这使得整体体验更加轻量化,并采用了简化的用户界面。对于无法处理的任务,系统将自动升级至完整对话视图进行处理。

对话视图用户体验优化
对对话视图的若干细节进行了调整,以提升使用体验:
- 创建新对话的操作现改为下拉菜单,提供"在编辑器中创建"和"在新窗口中创建"选项
- 工具与MCP服务器操作按钮已移至模型选择器右侧
- 配置下拉菜单的选项布局得到精简优化

现在可以通过右键点击对话视图中的数学表达式,直接复制其数学源码。
MCP
面向组织的 MCP 服务器访问管理
现支持通过 GitHub 组织策略配置 MCP 注册。此功能允许组织建立自定义 MCP 注册,并控制可安装和启动的 MCP 服务器范围。
当组织策略中配置了 MCP 注册端点后,VS Code 将实现以下功能:
- 支持从配置的注册中心浏览和安装 MCP 服务器
- 在启用访问限制时,仅允许启动注册中心内的 MCP 服务器
若组织已配置此类策略,则 chat.mcp.gallery.serviceUrl 设置用于指定 MCP 注册端点 URL,chat.mcp.access 设置用于控制是否将访问权限限制在该注册中心内的服务器。在设置编辑器中,这些设置项将标记为“(Managed by organization)”:

将 MCP 服务器安装至工作区配置
在安装 MCP 服务器时,你可以选择将其安装到全局环境或当前工作区配置中。你可以在扩展视图中右键点击目标 MCP 服务器并选择 “Install (Workspace)”,或直接在 MCP 服务器编辑器中使用 “Install (Workspace)” 操作。此操作会将 MCP 服务器添加至当前工作区的 .vscode/mcp.json 文件中,从而更便捷地与团队成员共享 MCP 服务器配置:

授权:客户端ID元数据文档认证流程
远程 MCP 服务器的身份验证支持现已新增客户端 ID 元数据文档(CIMD)认证流程,该流程将成为 MCP 中 OAuth 认证的未来标准。相较于动态客户端注册(DCR),此流程能够提供更安全、可扩展的认证解决方案,因为授权服务器无需再为每个客户端单独颁发客户端 ID。
当连接到使用支持 CIMD 的授权服务器的 MCP 服务器时,VS Code 将自动优先采用 CIMD 流程而非 DCR。
授权:WWW-Authenticate 范围升级
远程 MCP 服务器的身份验证支持现已新增通过 WWW-Authenticate 头部实现动态权限范围升级的功能,此机制符合 OAuth 2.0 规范要求。该功能允许 MCP 服务器在需要时请求额外权限,而无需在初始阶段要求所有权限范围。例如,连接服务器时可能仅需最小权限集,但特定的工具调用可在必要时才请求更广泛的权限。这遵循了最小权限原则,从而提供更佳的安全性保障。
此功能目前已纳入 MCP 规范最新草案,预计将于近期正式定稿。
无障碍功能改进
语音超时默认禁用
配置项 accessibility.voice.speechTimeout 的默认值现已改为 0。这意味着语音会话不再会在特定延迟后自动结束(例如,当暂停说话时,对话请求不会自动触发)。我们认为这能提供更好的默认体验,但仍可随时恢复为先前默认值(2500)。
对话输入框优化
对话输入框现以更清晰的顺序播报当前使用的智能体与模型信息,确保屏幕阅读器用户能优先听到最相关的上下文内容。无障碍帮助提示中新增说明:可通过按下 Delete 键删除已附加的上下文项,从而实现完全键盘操作的附件管理。
笔记
全局搜索功能
笔记现已支持跨单元搜索。您可以使用快捷键(F3 和 Shift+F3)跳转至下一个或上一个匹配项,操作方式与编辑器中的搜索体验完全一致。

源码控制
Git 提交消息折叠支持
当在编辑器中编写 Git 提交消息时,现在可以折叠提交消息的各个部分以保持界面整洁。要使用此功能,请启用 git.verboseCommit 和 git.useEditorAsCommitInput 这两项设置。

图示化显示传入/传出更改
在本版本中,新增了在源代码管理关系图视图中便捷查看传入和传出更改的功能。对于存在传入或传出更改的活动分支,关系图中将显示"传入更改"和"传出更改"节点。选择任一节点即可查看对应的传入或传出文件列表。

你可以通过 scm.graph.showIncomingChanges 以及 scm.graph.showOutgoingChanges 选项来隐藏这个信息。
关系图中对比引用版本
官方在源代码管理关系图的上下文菜单中新增了 " Compare with…" 命令,支持将关系图中的历史节点与任意分支或标签进行比较。该功能可帮助你查看存在于该历史节点但未包含在目标分支或标签中的变更。
在上下文菜单中还提供了快捷命令:“Compare with Remote” 和 “Compare with Merge Base”,分别用于将历史节点与远程分支及合并基准进行比较。
仓库选择模式
源代码管理仓库视图用于显示工作区中已打开的仓库列表,并控制源代码管理更改视图中显示的仓库范围。
为扩展仓库视图的功能,官方新增了 scm.repositories.selectionMode 设置项,用于控制仓库视图中的选择模式:可选择单一仓库或多仓库模式。
除仓库视图的新功能外,此举还使我们能够移除关系图视图标题中的仓库选择器,实现在所有源代码管理视图中使用统一的全局仓库选择器。您可通过该设置项或仓库视图的 “…” 菜单来切换选择模式。

仓库资源管理器(实验性功能)
官方正致力于增强仓库视图功能,为每个仓库显示更多信息。要体验此实验性功能,请同时启用 scm.repositories.selectionMode 和 scm.repositories.explorer 设置。
在首个迭代版本中,主要实现了分支与标签管理功能。你可以创建新分支和标签,查看分支与标签列表,并对每个分支/标签执行各类操作(例如:检出等)。在接下来的版本中,官方将继续添加更多信息(如:存储内容、远程仓库等)。

测试
在覆盖率测试中导航到未覆盖代码行
在查看测试覆盖率时,你现在可以使用新的导航命令在未覆盖的代码行之间快速跳转。当查看覆盖率信息时,编辑器工具栏将提供两个命令:
- Go to Next Uncovered Line:跳转至下一处未被测试覆盖的代码行
- Go to Previous Uncovered Line:跳转至上一处未被测试覆盖的代码行
这些命令可帮助您快速定位覆盖率缺口,集中关注需要补充测试覆盖的代码区域,从而更轻松地提升代码库的整体测试质量。
终端
终端智能感知
终端智能感知功能作为实验性/预览特性已在产品中存在约1.5年!本次发布将移除预览标签,并计划分阶段向所有稳定版用户默认启用。
该功能启用后,在终端(支持 PowerShell、bash、zsh 和 fish)中输入内容时,将出现与编辑器类似的智能感知提示界面。

智能补全功能整合了多种来源的提示信息,例如路径补全等核心功能均由平台底层统一处理。

部分命令具备高级规范支持,以 Git 为例,该命令能够自动拉取并提示分支名称:

该功能提供众多配置项供用户调整行为以满足需求:
terminal.integrated.suggest.quickSuggestions- 根据命令行内容自动显示建议(与通过 Ctrl+Space 手动触发相对)。terminal.integrated.suggest.suggestOnTriggerCharacters- 在输入“触发字符”(如-或/)后自动显示建议。terminal.integrated.suggest.runOnEnter- (可选)在使用 Enter 键时运行命令(而非 Tab 键)。terminal.integrated.suggest.windowsExecutableExtensions- 在 Windows 上被视为可执行文件的扩展名列表。terminal.integrated.suggest.providers- 提供禁用特定补全来源的能力,例如,您可能不希望使用扩展提供的某些补全。terminal.integrated.suggest.showStatusBar- 是否在智能感知弹出框底部显示状态栏。terminal.integrated.suggest.cdPath- 是否启用$CDPATH集成。terminal.integrated.suggest.inlineSuggestion- 是否与 Shell 的“ghost text”集成及其呈现方式。terminal.integrated.suggest.upArrowNavigatesHistory- 是否将“上箭头”键发送至 Shell 以浏览历史命令(而非在补全列表中浏览),这在 zsh 中尤其有用,你可以先过滤,然后按上箭头进行基于此前缀的历史搜索。terminal.integrated.suggest.selectionMode- 智能感知弹出框的聚焦方式,这决定了 Enter 和 Tab 键的行为。terminal.integrated.suggest.insertTrailingSpace(新增!) - 在接受补全后插入一个尾随空格并重新触发补全。
若你尚未看到此功能,请确保已启用 Shell 集成,并在设置中通过 terminal.integrated.suggest.enabled 显式启用智能感知。
除整体优化外,本版本为该功能带来以下更新:
- Copilot 与 Azure Developer CLI (azd) 补全支持:copilot 与 azd 命令行工具现已提供智能补全
- 扩展 API 趋于完善:相关扩展 API 已接近最终定稿
- Git 提交信息补全:在执行 Git 提交时,补全功能现可提示提交消息内容

统一的 Shell 集成超时设置
现提供了一个统一的可配置设置项 terminal.integrated.shellIntegration.timeout,用于控制 VS Code 在执行终端命令前等待 Shell 集成准备就绪的时长。此设置涵盖通过 executeCommand API 触发的命令及 Copilot 终端工具执行的命令。
原设置项 chat.tools.terminal.shellIntegrationTimeout 因此次统一管理已被弃用。
授权
插件账户偏好设置管理的可发现性提升
“管理插件账户偏好设置” 命令现已更易于发现。除了在命令面板和扩展上下文菜单中可用外,该命令现在也出现在账户菜单中,与“管理语言模型访问”命令并列。这使得查找和配置插件可访问的账户变得更加便捷。

classic Microsoft 身份验证的最终版本——若遇问题请使用 msal-no-broker
官方将移除 microsoft-authentication.implementation 设置中的经典选项。这意味着 VS Code 1.106 版将是支持经典选项的最终版本。
microsoft-authentication.implementation 设置的设立初衷,是允许用户在遇到原生代理身份验证问题时,能够为 Microsoft 账户选择退出该机制。此设置的可用选项包括:
msal- 在可用时使用带代理身份验证的 MSAL(默认值)msal-no-broker- 使用不带代理身份验证的 MSAL(近期引入)classic- 使用不基于 MSAL 的经典 Microsoft 身份验证流程
由于 classic 选项的使用率极低,且 msal 选项的大多数问题源于代理机制(该问题已通过 msal-no-broker 得到解决),我们将移除 classic 选项。
Microsoft 身份验证的设备码流程支持
Microsoft 身份验证现已在非代理场景中支持设备码流程,该流程对于远程开发环境尤为实用。当其他身份验证方法失败时,VS Code 将自动回退至设备码流程,此流程会显示一个可在其他设备上输入的代码,用以完成身份验证。
账户管理命令
现可直接通过命令面板使用 “Accounts: Manage Accounts” 命令来管理你的身份验证账户。该命令在账户菜单被隐藏或不易访问时,提供了访问账户管理功能的便捷途径。

当你运行 “Manage Accounts” 命令后,将会看到一个快速选择菜单,其中列出了您所有的活跃账户。您可以选择一个账户以查看可执行的操作,包括:
- Manage Trusted Extensions:控制哪些扩展可以访问所选账户。
- Manage Trusted MCP Servers:为支持此功能的账户,管理 MCP 服务器的访问权限。
- Sign Out:从此账户登出。
编程语言
Python
Python 环境插件:支持 python.poetryPath 设置
Python 环境插件现已兼容现有的 python.poetryPath 用户设置。此功能允许您指定要使用的 Poetry 可执行文件路径。在管理 Poetry 环境时,系统将自动搜索并选用该路径下的 Poetry 程序。
Python 环境插件:改进的虚拟环境创建与 dev-requirements.txt 检测
在创建新的虚拟环境时,该插件现在能够同时检测 requirements.txt 和 dev-requirements.txt 文件,并自动安装其中的依赖项。
将 Copilot 悬停摘要添加为文档字符串
现在可以通过 Copilot 悬停摘要中的新命令 “ Add as docstring” ,将 AI 生成的文档直接以文档字符串的形式插入代码中。当您为函数或类生成摘要后,可导航至该符号的定义处,将鼠标悬停其上以访问 “ Add as docstring” 命令。该命令会将格式化好的摘要作为标准文档字符串插入到光标下方。
此功能简化了代码文档化流程,使您无需重新键入即可快速提升代码的可读性与可维护性。

本地化的 Copilot 悬停摘要
Pylance 中的 GitHub Copilot 悬停摘要现在会遵循您在 VS Code 中设置的用户界面显示语言。当您调用 AI 生成的摘要时,获得的摘要文本将与您为编辑器设定的语言保持一致,从而使生成的文档更易于理解。

通配符导入转换代码操作
在 Python 中通常不推荐使用通配符导入(from module import *),因为它会污染命名空间并导致名称来源不明确,从而降低代码清晰度和可维护性。Pylance 现通过一项新的代码操作功能,可帮助您清理仍依赖 from module import * 的模块。该功能会将通配符替换为具体的显式符号,同时保留别名并保持单行导入语句。要使用此功能,只需点击包含通配符导入的代码行,然后按下 Ctrl+.(macOS 为 Cmd+.)并选择 “Convert to explicit imports” 代码操作即可。

dotenv 文件支持
现已内置对 dotenv 文件(.env)的基础支持,此类文件常用于为应用程序定义环境变量。
插件功能更新
GitHub Pull Requests
GitHub Pull Requests 插件(支持处理、创建及管理拉取请求和议题)的开发持续取得新进展,本次新增功能包括:
-
AI 生成的 PR 描述(通过 githubPullRequests.pullRequestDescription 触发)现会遵循仓库的 PR 模板(若存在)。
-
拉取请求视图中的草稿项现以斜体显示,不再使用 [DRAFT] 前缀。
-
支持通过 URL 直接打开拉取请求,例如:
vscode-insiders://github.vscode-pull-request-github/checkout-pull-request?uri=https://github.com/microsoft/vscode-css-languageservice/pull/460
预览特性
语言模型编辑器
全新的语言模型编辑器提供了一个集中化的界面,用于查看和管理 GitHub Copilot Chat 的所有可用语言模型。您可以通过对话界面中的模型选择器,或执行“Chat: Manage Language Models”命令来打开该编辑器。
此功能目前仅在 VS Code Insiders 版本中提供。

该编辑器显示以下信息:
- 按提供商分类的所有可用模型
- 模型能力:支持的工具、视觉、智能体功能
- 上下文长度及倍数详情
- 模型的可见性状态
你可以使用以下方式搜索和筛选模型:
- 文本搜索:支持高亮显示的文本搜索
- 提供商筛选:
@provider:"OpenAI" - 能力筛选:
@capability:tools,@capability:vision,@capability:agent - 可见性筛选:
@visible:true/false
将鼠标悬停在模型名称或上下文长度上,可查看详细信息,包括模型 ID、版本、状态和 Token 构成。
管理模型可见性
通过点击每个模型旁边的眼睛图标来切换其可见性,从而控制哪些模型出现在对话模型选择器中。当模型设置为可见时,它会在您使用 GitHub Copilot Chat 时出现在模型选择器的下拉列表中,可供选择。隐藏的模型仍会保留在语言模型编辑器中,但不会出现在模型选择器里。这有助于将模型选择范围聚焦在最常使用的模型上。

当拥有众多模型的访问权限时,此功能尤为实用。通过在选择器中仅展示偏好的模型,可以有效精简工作流程,提升操作效率。
添加来自已安装提供商的模型
使用" Add Models…"按钮可从已安装的语言模型提供商处配置并添加模型。选择此按钮时,你将看到所有已安装模型提供商的下拉列表,例如 Copilot、Anthropic、Azure、Google、Groq、Ollama、OpenAI 等。从列表中选择提供商进行配置,即可开始在 GitHub Copilot Chat 中使用其模型。

这样就可以轻松激活已安装的其他模型提供商,而无需离开语言模型编辑器。通过选择提供商行上的齿轮图标即可访问提供商管理。
插件认证
认证会话中的 ID 令牌
AuthenticationSession 现在包含一个可选的 idToken 属性。这允许认证提供商除了访问令牌之外还能返回 ID 令牌,这对于需要用户身份信息的场景特别有用。Microsoft 认证提供商会返回此字段,而 GitHub 等其他提供商可能不会。
ID 令牌包含关于已认证用户的声明并由身份提供商签名,这使得它们在验证用户身份时非常有用。
export interface AuthenticationSession {/*** The ID token.*/readonly idToken?: string;
}
Git 插件 getRepositoryWorkspace API
内置 Git 插件提供了新的 API,用于获取已知与 git 仓库远程地址关联的文件夹。该功能通过在用户打开包含 git 远程地址的文件夹时缓存仓库远程地址到文件夹的映射来实现。
在次级侧边栏中显示视图容器
插件作者现在可以通过使用新的 secondarySidebar 扩展点,在次级侧边栏中注册视图容器。这允许扩展将其自定义视图与次级侧边栏中的内置视图(如“对话”)并排放置,并提供与 VS Code 双侧边栏布局更好的集成。
{"contributes": {"viewsContainers": {"secondarySidebar": [{"id": "myExtensionViews","title": "My Extension","icon": "$(extensions)"}]},"views": {"myExtensionViews": [{"id": "myCustomView","name": "Custom View","when": "true"}]}}
}
以上就是本次更新的重点内容,如果想要了解更多,可以到 VSCode 官网 查看。
