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

2025年8月(版本1.104)

发布日期:2025年9月11日

更新 1.104.1:该更新解决了这些问题

更新 1.104.2:该更新解决了这些问题

更新 1.104.3:此更新解决了这些问题

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


欢迎来到2025年8月发布的Visual Studio Code。这个版本有很多更新,我们希望你会喜欢,主要亮点包括:


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

内部人士:想尽快尝试新功能吗?
您可以下载夜间内部人士版本,尽快体验最新更新。
下载内部人士版本

聊天

自动模型选择(预览)

在这一迭代中,我们将在聊天中引入自动模型选择。当您在模型选择器中选择 自动 模型时,VS Code 会自动选择一个模型,以确保您获得最佳性能并减少速率限制。

自动模型选择目前处于预览阶段,并将在未来几周内逐步向所有 VS Code 中的 GitHub Copilot 用户推出,首先从个人 Copilot 计划开始。

显示聊天视图中模型选择器的截图,显示自动选项。

自动将选择Claude Sonnet 4、GPT-5、GPT-5 mini和GPT-4.1其中之一,除非您的组织已禁用这些模型的访问。在使用自动模型选择时,VS Code 使用基于所选模型的可变模型乘数。如果您是付费用户,自动将应用10%的请求折扣。

您可以在聊天视图中通过悬停在响应上查看所选模型和模型乘数。

聊天响应的截图,显示悬停时选择的模型。

了解更多关于在 VS Code 中选择自动模型的信息.

确认对敏感文件的编辑

设置

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

在代理模式下,代理可以自主对您工作区中的文件进行编辑。这可能包括意外或恶意修改或删除重要文件,例如配置文件,这可能会对您的机器立即产生负面影响。了解更多关于使用人工智能驱动的开发工具时的安全考虑

在此次发布中,代理现在在编辑某些文件之前会明确询问用户确认。这在使用代理模式时提供了额外的安全层。

chat.tools.edits.autoApprove
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
在设置中,您可以配置文件模式以指示哪些文件需要确认。

常见的系统文件夹、点文件和工作区外的文件默认需要确认。

截图显示了在聊天视图中对敏感文件编辑的确认对话框。

支持 AGENTS.md 文件(实验性)

设置

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

一个AGENTS.md文件可以让你向智能体提供上下文和指令。从这个版本开始,当你有一个AGENTS.md在你的工作区根目录中,它会自动作为聊天请求的上下文。这对于使用多个AI代理的团队来说非常有用。

支持AGENTS.md文件功能默认启用,并且可以通过

chat.useAgentsMdFile
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置。请参阅 https://agents.md/ 了解更多信息 AGENTS.md文件。

了解更多关于在VS Code中定制聊天以符合您的实践和团队工作流程。

改进了更改文件的体验

在此次迭代中,已对更改文件列表进行了重新设计,并加入了一些生活质量提升的功能。这些更改应该能提升你在代理模式下工作的体验!

  • 更改的文件列表现在默认情况下是折叠的,以给聊天对话更多的空间。折叠时,您仍然可以看到更改的文件数量以及添加或删除的行数。

  • 当您接受或保留建议更改时,该文件将从更改的文件列表中移除。

  • 当您使用源代码控制视图对文件进行暂存或提交时,这会自动接受提议的文件更改。

  • 更改每个文件(添加或删除的行)现在在列表中的每个项目中显示。

在提示文件中使用自定义聊天模式

提示文件是包含可重用聊天提示的Markdown文件。要运行提示文件,请输入输入:/在聊天输入字段中输入提示文件名,或者在编辑器中打开提示文件时使用播放按钮。

您可以指定应使用哪种聊天模式来运行提示文件。以前,您只能使用内置的聊天模式,例如Agent编辑,或在你的提示文件中。现在,你也可以在提示文件中引用自定义聊天模式。

截图显示了在提示文件中为自定义聊天模式提供的IntelliSense。

了解更多关于在VS Code中定制聊天的信息,包括提示文件、聊天模式和自定义指令。

配置提示文件建议(实验性)

设置

聊天.提示文件推荐
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

团队通常会创建自定义提示文件来标准化AI工作流程,但当用户最需要这些提示时,却很难找到。现在,您可以根据上下文条件配置哪些提示文件会在聊天欢迎视图中作为建议出现。

新的

聊天.提示文件推荐
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置支持简单的布尔值和用于上下文感知建议的when子句表达式。

{
  "chat.promptFilesRecommendations": {
    "计划": true,                            // 始终建议
    "a11y-audit": "resourceExtname == .html", // 仅适用于HTML文件
    "文档": "resourceLangId == markdown", // 仅适用于Markdown文件
    "调试": false                           // 从不建议
  }
}

这有助于团队在正确的时间 surface 适当的 AI 工作流程,使自定义提示更易被发现,并与您的工作区和文件类型相关。

选择工具集中的工具

工具集 是将相关工具分组在一起的方便方法,VS Code 有几种内置的工具集,例如 编辑搜索输入:.

工具选择器现在显示每个工具集中包含哪些工具,您可以单独启用或禁用每个工具。您可以通过以下方式访问工具选择器配置工具...聊天视图中的按钮。

截图显示了扩展的编辑工具集的工具选择器,列出了所有可用的工具。

配置聊天使用的字体

设置

聊天字体
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
聊天字体大小
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

VS Code 让你可以在整个编辑器中选择使用的字体,然而聊天视图缺乏这种可配置性。我们现在已添加了两个新的设置来配置字体家族 (

聊天字体
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
) 和字体大小 (
聊天字体大小
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
) 聊天消息。

截图显示了带有自定义字体和字体大小的聊天视图。

注意:目前列表内容尚未遵守这些设置,但我们正在努力在即将发布的版本中解决这一问题。

与编码剂合作(实验)

通过编码代理,您可以将任务委托给 AI 代理在后台处理。您可以同时让多个代理并行工作。我们正在继续改进聊天会话体验,以帮助您更有效地与编码代理合作。

聊天会话视图

设置

聊天.代理会话查看位置
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

聊天会话视图提供了一个统一的视图,用于管理和处理本地和贡献的聊天会话。我们显著增强了聊天会话视图,现在您可以在其中执行所有主要操作,使迭代和完成编码任务更加容易。

  • 状态栏跟踪:直接从状态栏监控多个编码人员的进度。
  • 多会话支持:从同一视图启动和管理多个聊天会话。
  • 扩展上下文菜单:访问更多操作,高效地与您的编码代理互动。
  • 丰富的描述:启用丰富描述后,每个列表项现在都包括详细的上下文,帮助您快速找到相关信息。

GitHub 代码代理集成

我们改进了 GitHub 编码代理 与聊天会话的集成,以提供更流畅、更直观的体验。

  • 聊天编辑器操作:轻松查看或应用代码更改,并直接从聊天编辑器中查看拉取请求。
  • 无缝切换:从本地聊天到 GitHub 代理任务的过渡更加连贯。
  • 更好的会话渲染:对卡片和工具渲染的各种改进,以提高视觉清晰度。
  • 性能提升:更快的会话加载速度,带来更流畅的体验。

委托给编码代理

我们继续扩展在 VS Code 中将本地任务委托给 Copilot 编码代理的方法:

  • 用编码代理修复 todos:

    评论以 开头待办事项现在显示一个代码操作,以快速启动一个编码代理会话。

    在待办事项注释“委托给编码代理”上方的代码操作的截图。

  • 聊天代表 (

    github拉取请求.编码代理.用户界面集成
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    ):

    附加的上下文,包括文件引用,现在在您执行聊天中的委托给编码代理操作时会转发到 GitHub 编码代理。这使您能够在将任务交给编码代理完成之前精确地规划任务。一个新的聊天编辑器会打开,显示编码代理的实时进度。

主题: 锐利的太阳能 (预览于 vscode.dev)

使用 Google 登录社交账号

使用 Google 帐户登录或注册 GitHub Copilot 的选项现在已普遍提供,并正在向 VS Code 中的所有用户推出。

截图显示登录对话框中显示使用 Google 帐户的选项。

你可以在GitHub 博客公告中找到更多信息。

终端自动批准

设置

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

自动批准终端命令可以大大简化代理交互,但也存在安全风险。此版本对终端自动批准进行了多项改进,以提高可用性和安全性。

  • 您现在可以启用或禁用终端自动批准

    chat.tools.terminal.enableAutoApprove
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    组织设置。此设置也可以通过设备管理由组织设置。

  • 在终端自动批准实际启用之前,您需要在聊天视图中通过下拉菜单明确选择。

    聊天视图中终端命令的截图,显示了启用自动批准下拉菜单。

  • 从聊天视图中,您可以方便地为正在运行的命令添加自动批准规则,或打开配置设置:

    截图显示对于 "foo --arg & bar" 提供了三个标准选项。

    主题: 蓝宝石 (预览于 vscode.dev)

    这有一些基本的支持,用于在更合适的命令下建议子命令,例如建议一个npm 测试规则而不是npm输入:.

  • 为了提高自动批准命令的透明度,我们在聊天视图中显示了应用的规则,并允许您配置该规则:

    截图显示在聊天视图中的工具调用下添加的新链接,用于添加新的自动批准规则。

  • 我们改进了默认设置,以确保安全并减少噪音。您可以通过打开您的设置来查看规则的完整列表,以查看默认值settings.json文件,然后输入chat.tools.terminal.autoApprove 并通过 Tab 完成。

  • 包含反斜杠或正斜杠字符的非正则表达式规则现在被视为路径,不仅批准该确切路径,还允许使用任何类型的斜杠,并且还允许一个./前缀。当使用 PowerShell 时,所有规则都强制为不区分大小写。

  • 当代理模式想要通过互联网拉取内容时curlwget调用-RestMethod,或调用-网页请求, 我们现在显示一个警告,因为这是提示注入攻击的常见载体。

了解更多关于终端自动批准的信息,请参阅我们的文档。

全球自动批准

全局自动批准自v1.99以来一直是一个实验性设置。我们观察到,用户启用这个设置而没有深入思考其后果。此外,一些用户认为启用

chat.tools.autoApprove
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置是启用终端自动批准的先决条件,而事实并非如此。

为了纠正这些误解并进一步保护我们的用户,现在第一次使用全局自动批准时会有一个令人畏惧的警告,这样用户可以轻松退出并禁用该设置:

当首次使用全局自动批准时出现的警告对话框的截图。

设置也被更改为了更清晰的

chat.tools.global.autoApprove
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
ORG 没有自动迁移,所以所有用户(意外或故意)需要去重新明确设置它。

默认启用数学渲染

设置

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

在聊天回复中渲染数学方程现在已普遍提供并默认启用。您可以使用以下命令禁用此功能:

chat.math.enabled
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置。

聊天视图的截图,显示在聊天回复中内联和块级方程。

此功能由KaTeX提供支持,支持内联和块级数学方程。内联数学方程可以通过在标记周围添加单个美元符号来编写(输入:$...$),而块级数学方程使用两个美元符号 (输入:$$...$$)。

聊天视图默认可见性

设置

工作台.次级侧边栏.默认可见性
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

当你第一次打开一个工作区时,右侧栏默认显示聊天视图,邀请你立即提问或开始一个代理会话。你可以通过以下方式配置此行为

工作台.次级侧边栏.默认可见性
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置或通过使用聊天视图本身的下拉菜单:

截图显示聊天视图菜单,其中包含设置默认右侧栏可见性的选项。

改进的任务支持

  • 输入请求检测

    当你在代理模式下运行任务或终端命令时,代理现在可以检测到进程请求用户输入,并且你会被提示在聊天中回应。如果在出现提示时你在终端中输入内容,提示将自动隐藏。当提供选项和描述时(例如[Y] 是 [N] 否这些将在确认提示中显示。

  • 带有问题匹配器的任务的错误检测

    对于使用问题匹配器的任务,代理现在根据问题匹配器的结果收集和呈现错误,而不是依赖于语言模型来评估输出。问题以下拉菜单的形式显示在聊天进度消息中,允许您直接导航到问题的位置。这确保了只有在当前任务执行相关时才会报告错误。

  • 复合任务支持

    代理模式现在支持运行复合任务。当您运行复合任务时,代理会显示每个依赖任务的进度和输出,包括任何用户输入的提示。这使更复杂的流程成为可能,并且可以更好地监控多步骤任务执行。

    在下面的示例中,运行 VS Code - 构建任务。每个依赖任务的输出都会被评估,并且在响应中以及在进度消息下拉菜单中向用户显示问题。

改进的终端支持

  • 将更多的终端工具移至核心

    喜欢 这个 在终端中运行 工具的最新发布终端选择终端最后命令工具已从扩展移至核心,这应该提供更广泛的可靠性改进。

  • 可配置终端工具外壳集成超时

    每当在终端中运行工具尝试创建一个终端,它等待一段时间以激活 shell 集成。如果你的 shell 启动特别慢,例如你有一个非常重的 PowerShell 配置文件,这可能会导致它等待前面修复的 5 秒超时,并最终仍然失败。此超时现在可以通过以下方式配置

    chat.tools.terminal.shellIntegrationTimeout
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    设置。

  • 防止使用命令提示符

    由于在命令提示符中无法真正实现外壳集成,至少在 Copilot 所需的功能范围内,Copilot 现在选择使用 Windows PowerShell,这应该默认具有外壳集成。这应该提高 在终端中运行工具当你的默认外壳是命令提示符。

    如果由于某些原因,您希望 Copilot 使用命令提示符,目前这不可能实现。我们可能会很快添加自定义 Copilot 使用的终端配置文件的功能,这在 #253945 中跟踪。

待办事项工具

待办事项工具帮助代理将复杂的多步骤任务分解成更小的任务,并报告进度,以帮助您跟踪各个项目。我们对这个工具进行了改进,现在默认启用。

工具进度显示在聊天视图顶部的待办事项控制中,当处理待办事项列表时,它会自动折叠,只显示当前进行的任务。

跳过工具调用

当代理请求确认一个工具调用时,您现在可以选择跳过该工具调用并让代理继续。您仍然可以通过聊天输入框取消请求或输入新请求。

我们已经升级了#代码库 工具来使用新的 嵌入 模型在你的工作区中进行代码的语义搜索。这个新模型为代码搜索提供了更好的结果。新的嵌入模型还使用更少的存储空间,每个嵌入仅需我们之前模型的6%的磁盘存储大小。

我们将在未来几周逐步推出这个新的嵌入模型。您的工作区将自动更新以使用此新嵌入模型,因此无需采取任何行动。如果您想在它推出给您之前尝试新模型,VS Code Insiders 已经在使用该模型。

隐藏和禁用 GitHub Copilot AI 功能

设置

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

我们正在引入一个新的设置

chat.disableAIFeatures
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
禁用和隐藏由GitHub Copilot提供的内置AI功能,包括聊天、代码补全和下一次编辑建议。

该设置与我们之前实施的解决方案相比具有以下优势:

  • 在您的设备之间同步,除非您明确禁用此功能
  • 禁用Copilot扩展,以防它们已安装
  • 按每个配置文件或每个工作区进行设置,使可以选择性禁用AI功能。

“隐藏AI功能”的命令已重命名以反映此更改,现在将在设置编辑器中显示此新设置。

注意:之前隐藏AI功能的用户将继续看到AI功能被隐藏。如果您希望在设备之间同步您的选择,还可以更新设置。

多路转换器

支持服务器指令

VS Code 现在可以读取 MCP 服务器指令,并将其包含在其基本提示中。

MCP自动发现默认已禁用

设置

chat.mcp.discovery.enabled
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

VS Code 支持 自动发现安装在其他应用程序(如 Claude Code)中的 MCP 服务器。随着 VS Code 中 MCP 支持的成熟,自动发现现在默认是禁用的,但你可以使用

chat.mcp.discovery.enabled
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置。

启用MCP

设置

chat.mcp.access
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
组织

chat.mcp.enabled之前控制MCP服务器是否可以在VS Code中运行的设置已被迁移到一个新的

chat.mcp.access
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
ORG 设置更多描述性选项:

  • 全部允许所有MCP服务器运行(相当于之前的值)
  • : 完全禁用MCP支持(等同于之前的假的值)

无障碍

聚焦聊天确认操作

我们添加了一个命令,聚焦聊天确认 (kb(工作台.操作.聊天.聚焦确认)),如果存在确认对话框,则将其聚焦,或者向屏幕阅读器用户宣布不需要确认。

代码编辑

可配置的内联建议延迟

设置

编辑器内联建议的最小显示延迟
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

一个新的设置

编辑器内联建议的最小显示延迟
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
使您能够配置在您输入后内联建议出现的速度。如果您发现建议出现得过快并妨碍您的输入,这将非常有用。

编辑体验

Windows Windows边框颜色支持

设置

Windows边框
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

我们很高兴添加一个新的设置

Windows边框
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
在 Windows 上启用此设置后,您可以在 VS Code Windows周围显示一个彩色边框。该设置有以下选项:

  • 默认尊重颜色主题设置,回退到Windows设置
  • 系统仅尊重 Windows 设置(Windows标题强调颜色)
  • 禁用边框颜色
  • <颜色>: 具体颜色以十六进制、RGB、RGBA、HSL、HSLA 格式

您可以为每个工作区配置颜色,使更容易区分在哪个Windows中打开了哪个工作区。

几个带有不同边框颜色的 VS Code Windows的截图。

当您配置

Windows边框
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
默认一个主题能够使用该设置来为活动和非活动Windows设置边框颜色Windows活动边框Windows.非活动边框颜色键。您可以进一步覆盖这些颜色从
工作台颜色定制
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置。

管理扩展账户偏好设置

我们已在命令面板中添加了一个账户:管理扩展账户偏好命令。调用时,它会显示一个具有认证账户访问权限的扩展列表,并允许您更改这些扩展使用的账户。您甚至可以直接从列表中登录新账户。

这建立在我们去年添加的账户管理功能之上

编辑器标签索引

设置

工作台.编辑器.显示标签索引
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

您现在可以在标签的标签页中渲染编辑器标签的索引。当您打开许多标签页并希望使用键盘快捷键快速在它们之间导航时,这很有帮助。使用以下功能启用此功能

工作台.编辑器.显示标签索引
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置。

带有编号的编辑器标签的截图,编号表示它们的索引。

编辑器标签栏滚动条可见性

设置

工作台.编辑器.标题滚动条可见性
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

工作台.编辑器.标题滚动条可见性
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
使您能够控制编辑器标签栏中的滚动条何时可见。默认值自动仅在标签溢出且悬停在标签上时显示滚动条。您也可以将其设置为可见始终显示滚动条,当标签溢出时,或隐藏从不显示它。

问题报告者改进

在 VS Code 或扩展中通过内置的问题报告器报告问题时,您现在可以选择 在 GitHub 上创建在 GitHub 上预览,通过报告按钮上的下拉菜单进行选择。如果按钮没有显示下拉菜单,只显示“创建”或“预览”,这可能意味着您仍在加载扩展数据或需要确保使用提供正确范围的 GitHub 账户登录。

在问题报告器中显示的下拉菜单截图,其中显示了在Github上创建和预览。

笔记本电脑

改进的 NES 建议(实验性)

设置

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

我们正在尝试改进笔记本的下一次编辑建议的质量。目前,语言模型在生成建议时可以访问活动单元格的内容。

github.copilot.chat.notebook.enhancedNextEditSuggestions.enabled
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
启用此设置后,语言模型可以访问整个笔记本,从而生成更准确和更高质量的下一个编辑建议。

源代码管理

预览并迁移Git工作树更改

现在,您可以通过右键单击工作树文件,在“源代码控制更改”视图中打开上下文菜单并选择与工作区比较来预览工作树文件和当前工作区之间的差异。

在工作树中更改的文件上显示的 SCM 视图上下文菜单的截图,其中选择了“与工作区比较”选项。

在查看了您的更改后,您可以使用迁移工作树更改...命令从命令面板 () 将工作树中的所有更改合并到当前工作区。这使得在多个工作树之间工作并选择性地将更改带回主仓库变得很容易。

了解更多关于VS Code 中的 Git 工作树

终端

终端Windows的可发现性和抛光

一个常见的请求是允许终端在单独的Windows中打开。这个功能已经存在了一年半左右,但并不是特别容易发现。这次迭代,我们为这个功能添加了多个入口点:

  • 新的命令 ⌃⇧⌥` (Windows, Linux Ctrl+Shift+Alt+`).
  • 空编辑器和标签良好的菜单现在有一个新终端条目。
  • 新的终端下拉菜单已经重新排列,现在有一个新终端Windows条目。
  • 顶级终端菜单现在有一个新终端Windows条目。

我们还优化了这些新终端Windows以紧凑模式打开的体验。如果您向Windows添加了一个新标签,它会自动退出紧凑模式。

终端Windows在紧凑模式下打开的截图,隐藏标签以提供更多终端内容的空间。

终端操作在终端编辑器中

终端视图中可用的操作(新终端下拉菜单、清除终端等)现在也可以在编辑区域的终端和终端Windows中使用。

编辑器操作菜单中不同终端操作的截图。

就像在终端视图中一样,您可以通过右键单击操作区域将它们移出溢出菜单。

终端IntelliSense改进(预览版)

终端IntelliSense在此次发布中将进行多项改进:

  • 多项性能改进,这些改进主要影响Windows上的体验。
  • 吉特由于移除了该功能,Windows 上的完成现在更加可靠。 sed依赖项,Windows 上不可用。
  • 吉特现在,完成提示具有熟悉的图标来表示提交、分支、远程、暂存和标签。 显示在“git checkout”完成时的标签和分支的新图标截图
  • 大量的完成规格被添加:安卓调试桥基本名称清除剪切日期dd差异挖掘目录名Docker ComposeDocker点网环境出口fdisk输入:fmt折叠输入:ghGOhtop身份证jq自然对数lsblklsof安装输入: nl粘贴pkill读链接rsyncRuby领结 sed序列撕碎排序拆分状态输入:su超级用户权限塔克 tarT恤时间输入:tr路由跟踪截断独一无二解压厕所哪里哪里哪个xargsxxd压缩

终端粘性滚动改进

我们已经默认启用了终端粘性滚动。我们进行了几次改进以提升体验,例如改进了使用分页器时的行为。终端粘性滚动现在兼容

编辑器.标签聚焦模式
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置。

语言

JavaScript 和 TypeScript

在审查使用数据后,我们决定删除我们内置的bower.json 智能感知。Bower 自 2017 年以来已被 弃用,而我们内置的支持几乎没有使用,并且没有被积极维护。

鲍尔建议用户迁移到npm纱线VS Code 中的 Bower 支持可以通过扩展继续提供。

Python

Python 环境扩展支持 Pipenv

Pipenv 环境现在可以像在 Python 扩展中一样被发现和选择。此外,它们会出现在环境管理器视图中,Python 侧边栏中,它们会和其他环境类型一起分组显示。

截图显示了展开的 Pipenv 环境的 Python 侧边栏。

配置环境变量注入

一个新的场景,

python.使用环境文件
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
控制是否从环境中获取变量.env文件和
python.envFile
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
当启用Python Environments扩展时,设置会注入到终端中。

Python 环境扩展改进

Python Environments 扩展 继续收到错误修复和改进,作为向稳定用户可控推出的一部分。在推出过程中使用 Python Environments 扩展,请确保已安装该扩展,并在 VS Code 中添加以下内容settings.json 文件: "python.useEnvironmentsExtension": true输入:.

使用Pylance(实验性)的AI驱动悬浮摘要

一个新的实验性 AI 悬停摘要功能现在在使用 Pylance 的最新预发布版本时对 Python 可用。当您启用

python分析人工智能悬停总结
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置中,对于没有文档的符号,您可以实时获取有用的摘要。这使得理解不熟悉的代码更加容易,并在您探索Python项目时提高生产力。目前,AI悬停摘要对GitHub Copilot Pro、Pro+和Enterprise用户可用。

我们期待尽快将这一实验性体验带到稳定版中。

运行代码片段工具

与其依赖终端命令,不如使用python -c "code"或者创建临时文件以供执行,Pylance 的运行代码片段工具使 GitHub Copilot 能够完全在内存中执行 Python 片段。它会自动使用为您的工作区配置的正确 Python 解释器,并且它消除了有时在终端执行期间出现的 shell 转义和引用的常见问题。

一个显著的好处是它提供的干净、格式良好的输出,stdout和stderr交织在一起以提高清晰度。这使得它在使用GitHub Copilot的代理模式测试小块代码、运行快速脚本、验证Python表达式或检查导入时非常理想,所有这些都可以在你的工作区上下文中进行。

要尝试它,请确保使用 Pylance 扩展的最新预发布版本。然后您可以选择pylance运行代码片段 工具通过 添加上下文... > 工具 菜单在聊天视图中。

注意:与所有AI生成的代码一样,请在允许此工具执行之前检查生成的代码。审查代码的逻辑和意图,以确保其符合项目目标并保持安全性和正确性。

Pylance IntelliSense 已在所有 Python 文件中启用

python分析支持所有Python文档设置已从最新的 Pylance 预发布版本中移除,现在所有 Python 文档(包括终端和差异视图)中的 Pylance 智能感知默认启用。这意味着无论您在 VS Code 中的何处使用 Python,都可以获得丰富的代码补全、悬停和代码导航。

激活钩子

Python 激活钩子现在可以从 shell 集成脚本中运行,而不是要求修改您的 shell 个人资料的 Python 环境扩展。这在终端激活时提供了更可靠的激活。

python-envs.terminal.autoActivationType
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置为启动外壳并且,重要的是,确保Copilot终端按预期激活。

对扩展的贡献

GitHub 拉取请求

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

  • 侧边栏内容在窄Windows上折叠
  • 拉取请求和问题网页视图在重新加载后恢复
  • 新的“TODO”代码操作允许您直接委托给 Copilot 编程代理
  • 子模块可以被忽略
    githubPullRequests.忽略子模块
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开

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

扩展编写

为扩展启动的终端提供shellIntegrationNonce

外壳集成随机数现在可以传递到创建终端终端选项扩展终端选项这使得扩展能够控制用于验证命令的随机数在 shell 集成转义序列中.

语言模型聊天提供者API

在这一轮迭代中,我们最终确定了语言模型聊天提供者API。这使得扩展可以贡献一个或多个语言模型,托管在云端或本地。通过安装扩展,用户可以在聊天中通过模型选择器选择这些模型。

已经有多个扩展利用此API来通过额外的模型扩展VS Code中的聊天功能,包括VS Code AI ToolkitCerebras Inference,和Hugging Face

您可以在我们的语言模型聊天提供者扩展指南或我们的扩展示例中了解更多关于如何利用此API的信息。

注意:通过此 API 提供的模型目前仅对 个人 GitHub Copilot 计划的用户可用。

提议的API

认证:支持WWW-Authenticate挑战在获取会话

HTTP的一个已确立的模式是,向API的请求可以返回一个带有WWW-Authenticate头的401未授权状态代码,这定义了认证挑战。这些本质上是API需要解决401问题的事项。

我们引入了一个提议的API,该API允许将这些挑战传递给认证提供者并进行处理。首先,从调用方的角度来看,您现在可以传递一个挑战,如下所示:

导出 接口 AuthenticationWWWAuthenticateRequest {
  /**
   * 触发此挑战的原始 WWW-Authenticate 头值。
   */
  只读 wwwAuthenticate: 字符串;

  /**
   * 会话的可选作用域。
   */
  只读 作用域?: 只读 字符串[];
}

导出 命名空间 认证 {
  // 注意:唯一的变化是第二个参数,其他版本的`getSession`也有同样的更改
  导出 函数 getSession(
    providerId: 字符串,
    scopeListOrRequest: 只读数组<字符串> | 认证WWWAuthenticate请求,
    options?: 认证获取会话选项
  ): 然后可<认证会话 | 未定义>;
}

在认证提供者方面,我们为 添加了以下两个新功能认证提供者输入:

getSessionsFromChallenges(约束条件: 身份验证约束条件, 选项: 身份验证提供程序会话选项): Thenable<只读 身份验证会话[]>;
createSessionFromChallenges(约束条件: 身份验证约束条件, 选项: 身份验证提供程序会话选项): Thenable<身份验证会话>;

并且认证提供商可以在注册时声明对挑战的支持支持挑战:真认证提供者选项输入:.

示例:Azure 多因素认证

这项工作最初是由于即将对Azure API要求MFA,所以也让我们将其作为此API的一个例子。

假设你有一个扩展在Azure中创建资源。它所做的只是调用一个Azure RM API,没什么特别的…… 你的扩展可能已经熟悉调用vscode.authentication.getSession 要获取一个认证会话,主要是获取一个访问令牌,该令牌可以用于调用此 API。现在,当您首次创建该认证会话时,取决于您的组织,您可能或可能不经过多因素身份验证 (MFA)。如果经过,则 Azure API 会很高兴。如果没有经过 MFA,那么 Azure 的 API 将返回 401 并且会WWW-Authenticate标题。

现在我们推出了 VS Code 的新 API……你只需要将那个 header 值传递进去即可vscode.authentication.getSession输入:

const newRequest = {
  wwwAuthenticate: theRawHeaderValue,
  scopes: scopesFromPreviousRequest
};
const sessionWithMFA = await vscode.authentication.getSession(
  'microsoft',
  newRequest,
  options
);

这将把该头信息传递下去微软认证提供者,认证提供者将负责 mint 一个满足挑战的会话。

下一步

下一次迭代我们将完成获取会话(aka extension asking for auth) parts of this proposal so if you have any feedback on that or the shape of the认证提供者 如果有任何更改,请告知我们!您可以 在此处找到完整的提案 在 GitHub 上。

另一个即将涉及的用例是WWW-Authenticate, 是用于MCP服务器发出一个WWW-Authenticate 头部请求具有更多范围的令牌。 MCP规范中对此有一个提案

查看右侧栏中的容器

扩展可以贡献视图容器到活动栏面板我们现在已经增加了对贡献的支持次要侧边栏以及。这目前落后于贡献侧边栏提议的API。我们希望尽快完成这个API。

工程

在 VS Code 的内部开发循环中探索 Playwright 和 Playwright MCP

VS Code 的代理模式和其他 AI 功能已经成为 VS Code 团队构建 VS Code 本身的核心工具(无意之中暗示)。我们希望探索如何进一步应用这些功能,以使 VS Code 的内部开发循环更加完善。为此,我们一直在尝试扩展我们现有的 smoke test 自动化项目,该项目使用 Playwright,创建一个 MCP 服务器,可以驱动本地 VS Code 实例。这使得我们现有的代理流程,之前专注于从构建/测试时的上下文(编译、检查器、测试等)中接收信息,现在也可以与 VS Code 的实时实例进行交互... 验证更改在运行时是否产生了预期的效果。

这个工作的第一部分可以在vscode 代码库的 test/mcp 文件夹中找到。如果你有兴趣尝试,开始非常简单:

  1. 遵循贡献指南以获取本地版本的Code OSS
  2. 然后你可以使用我们目前简单的提示文件来提问/ playwright 你的问题在这里在代理模式。

这仍然是一个早期的探索,但我们对这为我们进一步在内部开发循环中使用AI所开辟的可能性感到兴奋。基础工作现在已经完成,我们将在此基础上进行迭代,以使其对团队更加健壮和有用。

这项工作最近在 VS Code Insiders 播客中进行了介绍,我们讨论了进行这项探索的动机和技术细节。你可以收听 VS Code Insiders 播客的这一集。

重要修复

  • vscode#151902 - 终端:选中时复制 + 1.68版本中的新高亮 在CMD+F时复制上一个术语
  • vscode#222075 - 在使用分页器时,终端粘性滚动可以显示1帧
  • xtermjs/xterm.js#5390 - 修复退出alt缓冲区后滚动条闪烁的问题

谢谢

最后但同样重要的,向VS Code的贡献者们致以深深的谢意

问题跟踪

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

拉取请求

贡献于Visual Studio Code输入:

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

贡献于vscode-eslint输入:

贡献于vscode扩展示例输入:

贡献于vscode-js调试输入:

贡献于vscode-jupyter输入:

贡献于vscode语言服务器节点输入:

贡献于vscode-markdown-languageservice输入:

贡献于vscode-markdown-tm-grammar输入:

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

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

贡献于vscode-vsce输入:

贡献于调试适配器协议输入:

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

贡献于节点-jsonc-解析器输入:

贡献于Python 环境工具输入:

我们非常感谢人们在新功能准备好后尽快尝试,所以经常查看这里并了解最新动态。

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