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

2025年4月(版本1.100)

发布日期:2025年5月8日

更新:默认在 VS Code 稳定版中启用 Next Edit Suggestions (NES) (更多...)。

更新 1.100.1:该更新解决了这些问题安全问题

更新 1.100.2:更新解决了这些问题

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

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


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

  • 聊天

    • 自定义指令和可复用的提示 (更多...).
    • 使用 GitHub、扩展和笔记本的工具获得更智能的结果 (更多...).
    • MCP对图像和流媒体HTTP的支持 (更多...).
  • 聊天性能

    • 更快的重复聊天请求响应 (更多...).
    • 在代理模式下更快的编辑 (更多...).
  • 编辑经验

    • 改进了聊天和编辑器的多Windows支持 (更多...).
    • 现在更容易识别分阶段的更改 (更多...)。

如果您想在线阅读这些发行说明,请访问 更新 页面 code.visualstudio.com内部用户: 想尽快尝试新功能吗?您可以下载 内部用户 每夜构建版本,并在最新更新可用时立即尝试。

聊天

提示和说明文件

您可以通过使用基于Markdown的指令和提示文件来自定义VS Code中的AI体验,以适应您的特定编码实践和技术堆栈。我们已经将这两个相关概念的实现和使用对齐,但它们各有不同的用途。

说明文件

设置

聊天.指示文件位置
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

指令文件(也称为自定义指令或规则)提供了一种在Markdown文件中描述AI模型的常见指南和上下文的方法,例如代码风格规则或使用哪个框架。指令文件不是独立的聊天请求,而是提供可以应用于聊天请求的上下文。

说明文件使用.inSTRUCTIONS.md文件后缀。它们可以位于您的用户数据文件夹或工作区中。

聊天.指示文件位置
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置列表包含包含指令文件的文件夹。

您可以手动将说明附加到特定的聊天请求,或者它们可以自动添加:

  • 要手动添加它们,请使用 添加上下文 按钮在聊天视图中,然后选择 说明...。 或者,从命令面板中使用 聊天:附加说明... 命令。这将弹出一个选择器,允许您选择现有的说明文件或创建一个新的文件来附加。

  • 要自动将说明添加到提示中,请添加申请在指示文件中使用Front Matter头部来指示指示适用于哪些文件。如果聊天请求包含与给定的 glob 模式匹配的文件,指示文件将自动附加。

    以下示例提供了对 TypeScript 文件的说明应用到: '**/*.ts'):

    ---
    applyTo: '**/*.ts'
    ---
    将大括号放在单独的行上以表示多行块:
    if (condition)
    {
      doSomething();
    }
    else
    {
      doSomethingElse();
    }
    

您可以使用 Chat: 新建指令文件... 命令创建指令文件。此外,通过 Settings Sync 服务,用户数据 文件夹中创建的文件可以在多台用户机器上自动同步。请确保在 备份和同步设置... 对话框中检查 提示和指令 选项。

了解更多关于指令文件的信息,请参阅我们的文档。

提示文件

设置

聊天.提示文件位置
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

提示文件描述了一个独立的、完整的聊天请求,包括提示文本、聊天模式和使用的工具。提示文件对于创建用于常见任务的可重用聊天请求很有用。例如,您可以添加一个用于创建前端组件或进行安全审查的提示文件。

提示文件使用提示.md文件后缀。它们可以位于您的用户数据文件夹或工作区中。

聊天.提示文件位置
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置列表出用于查找提示文件的文件夹。

有几种方法可以运行提示文件:

  • 类型输入:/在聊天输入框中,输入提示文件名。 显示在聊天视图中使用斜线命令运行提示的截图。

  • 在编辑器中打开提示文件,并按编辑器工具栏中的“播放”按钮。这使您能够快速迭代提示并运行它,而无需切换到聊天视图。 截图显示在编辑器中使用播放按钮运行提示。

  • 使用 聊天:运行提示文件... 命令从命令面板。

提示文件可以有以下Front Matter元数据标题来指示如何运行:

  • 模式: 调用提示时使用的聊天模式 (编辑,或Agent模式)。
  • 工具: 如果模式Agent,可用的提示工具列表。

以下示例显示了一个用于生成发行说明的提示文件,该文件以代理模式运行,并可以使用一组工具:

---
mode: 'agent'
tools: ['getCurrentMilestone', 'getReleaseFeatures', 'file_search', 'semantic_search', 'read_file', 'insert_edit_into_file', 'create_file', 'replace_string_in_file', 'fetch_webpage', 'vscode_search_extensions_internal']
---
Generate release notes for the features I worked in the current release and update them in the release notes file. Use [release notes writing instructions file](.github/instructions/release-notes-writing.instructions.md) 作为指南。

要创建一个提示文件,请使用Chat: 新建提示文件...命令从命令面板。

了解更多关于提示文件的信息,请参阅我们的文档。

改进和注释

  • 说明和提示文件现在有了自己的语言ID,可以在语言模式对话框中为任何打开的文档(分别对应“Prompt”和“Instructions”)进行配置。这使得例如在将它们保存到磁盘之前,可以使用未命名文档作为临时提示文件。
  • 我们将聊天:使用提示命令重命名为聊天:运行提示。此外,该命令现在会立即运行所选的提示,而不是像以前那样将其附加为聊天上下文。
  • 这两种文件类型现在也支持描述元数据在它们的标题中,提供一个共同的地方来存储简短且用户友好的提示摘要。在未来,计划将这个标题与申请头文件作为规则来决定文件是否需要自动包含在聊天请求中(例如,描述: '用于编写TypeScript的前端组件的代码风格规则。')

更快的代理模式编辑

我们在代理模式下实现了对 OpenAI 的 apply patch 编辑格式 (GPT 4.1 和 o4-mini) 和 Anthropic 的 replace string 工具 (Claude Sonnet 3.7 和 3.5) 的支持。这意味着您将受益于显著更快的编辑速度,特别是在大型文件中。

OpenAI 模型的更新在 VS Code Insiders 中默认开启,并逐步向 Stable 推出。Anthropic 更新在 Stable 和 Insiders 中对所有用户都可用。

聊天的基础模型

我们正在逐步将GPT-4.1作为默认的基础模型在VS Code的聊天中推出。您可以在聊天视图中使用模型切换器随时切换到其他模型。

搜索 GitHub 仓库的代码#github库工具

想象一下,你需要对一个 GitHub 仓库提出一个问题,但你没有在编辑器中打开它。例如,你想知道一个特定函数是如何实现的微软/vscode仓库。

您现在可以使用#github库工具,用于在任何你有访问权限的 GitHub 仓库中搜索代码片段。这个工具采取了用户/仓库作为额外输入。例如,“如何在 TS 中实现工厂模式 #githubRepo microsoft/vscode”。

您还可以使用自定义指令来提示何时以及如何使用此工具,如下例所示:

---
应用到'**'
---
使用`#githubRepo`工具与`microsoft/vscode`在VS Code代码库中查找相关的代码片段。
使用`#githubRepo`工具与`microsoft/typescript`回答有关TypeScript实现的问题。

截图显示在代理模式下使用#githubRepo工具,并参考说明文件中的提示。

如果你想询问你当前正在使用的库,你可以直接使用#代码库 工具.

此外,#github库 该工具仅用于搜索相关的代码片段。 GitHub MCP 服务器 提供了处理 GitHub 问题和拉取请求的工具。了解更多关于 在 VS Code 中添加 MCP 服务器 的信息。

使用扩展工具查找市场扩展

使用扩展工具 (# 扩展) 在聊天中查找来自市场的产品。根据您的聊天提示,工具会自动调用,或者您可以在提示中明确引用它。# 扩展该工具返回与您的查询匹配的扩展列表。您可以直接从结果中安装扩展。

改进网页获取工具

上个月,我们介绍了fetch工具#获取) 从聊天中直接获取网页内容,并将其作为提示的上下文。如果你错过了该发布说明,请查看获取工具的初始发布说明 及其示例。

在这一版本中,我们对工具进行了几项大的改进,包括:

  • 整个页面作为上下文:我们现在将整个页面作为上下文,而不是一个子集。有了更大的上下文Windows,我们能够将整个页面传递给模型。例如,现在可以提出需要尽可能多页面信息的摘要问题。如果你成功填满了上下文Windows,获取工具足够聪明,能够排除页面中不太相关的部分。这样,你不会超过上下文Windows限制,同时仍然保留重要部分。
  • 一个标准化的页面格式(Markdown):之前,我们使用一种自定义的层次化格式来处理获取的网页,这种格式虽然能解决问题,但由于其自定义的特性,有时难以推理。我们现在将获取的网页转换为Markdown,这是一种标准化的语言。这提高了相关性检测的可靠性,并且大多数语言模型都对它有深入的了解,因此它们可以更容易地进行推理。

我们非常希望听到您如何使用fetch工具,以及您希望它具备哪些功能!

聊天输入改进

我们对聊天输入框进行了多项改进:

  • 附件:当您在提示文本中使用#现在它们也作为一个附加药丸出现。这使得更容易理解发送到语言模型的内容。
  • 上下文选择器:我们简化了上下文选择器,使其更简单地选择文件、文件夹和其他附件类型。
  • 完成按钮:我们听取了您对“完成”按钮的反馈,并且我们去掉了它!不再因为意外的会话结束而感到困惑。现在,我们只在您创建新聊天时才开始新会话(⌘N(Windows, Linux Ctrl+N)。

聊天模式键盘快捷键

键盘快捷键 ⌃⌘I (Windows, Linux Ctrl+Alt+I) 仍然只是打开聊天视图,但 ⇧⌘I (Windows Ctrl+Shift+I, Linux Ctrl+Shift+Alt+I) 现在打开聊天视图并切换到 代理模式。如果你想为其他聊天模式设置键盘快捷键,每个模式都有一个命令:

  • 工作台.操作.聊天.打开代理
  • 工作台.操作.聊天.打开编辑
  • 工作台.操作.聊天.打开询问

从代理模式编辑中自动修复诊断

设置

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

如果在代理模式下编辑文件引入了新的错误,代理模式现在可以检测到这些错误,并自动提出后续编辑。这意味着您不需要发送后续提示来要求代理模式修复任何错误。您可以使用以下方法禁用此行为:

github.copilot.chat.agent.autoFix
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
输入:.

在代理模式下处理撤销和手动编辑

之前,在代理模式会话期间进行手动编辑可能会使模型感到困惑。现在,代理会提示您的更改,并且在编辑可能已更改的文件之前,应在必要时重新读取文件。

对话摘要和提示缓存

我们对代理模式提示的构建方式做了一些更改,以优化提示缓存。提示缓存是一种通过维护提示的稳定前缀来加速模型响应的方法。下一个请求可以从该前缀继续,结果是每个请求应该稍微快一点。这在具有大上下文的重复请求序列中特别有效,例如在代理模式中通常会遇到的情况。

当你的对话变得很长,或者你的上下文变得非常大时,你可能会在你的代理模式会话中看到一个“总结化的对话历史”消息:

截图显示在聊天视图中总结的对话消息。

与其将整个对话作为先进先出(FIFO),打破缓存,我们将到目前为止的对话压缩成最重要的信息摘要和您任务的当前状态。这保持了提示前缀的稳定,并使您的响应快速。

MCP对可流式HTTP的支持

此版本为模型上下文协议服务器增加了对新的可流式HTTP传输的支持。可流式HTTP服务器的配置与现有的SSE服务器相同,我们的实现与SSE服务器向前兼容:

{
  "服务器": {
    "我的-mcp-服务器": {
      "url": "http://localhost:3000/mcp"
    }
  }
}

了解更多关于VS Code 中的 MCP 支持

MCP 支持图像输出

我们现在支持生成图像的MCP服务器,这些图像作为其工具输出的一部分。

请注意,并非所有语言模型都支持从工具输出读取图像。例如,尽管GPT-4.1具有视觉能力,但它目前不支持从工具读取图像。

增强MCP服务器的输入、输出和进度

我们增强了显示MCP服务器工具输入和输出的用户界面,并且还增加了对MCP新进度消息的支持。

主题: Codesong (预览于 vscode.dev)

MCP配置生成使用输入

为了帮助保护您的机密安全,由MCP: Add Server命令生成的AI辅助配置现在会生成输入对于任何秘密,而不是将它们内联到最终配置中。

内联聊天 V2(预览)

设置

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

我们一直在致力于改进内联聊天版本⌘I(Windows, Linux Ctrl+I。它的主题仍然是“将聊天带入代码”,但在幕后,它使用与聊天编辑相同的逻辑。这意味着更好地利用可用上下文和更好的代码编辑策略。您可以通过

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

此外,现在有一个更轻量级的用户体验,可以选启用。

立式聊天隐藏请求
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置,内联聊天在请求一作出即隐藏。然后最小化到聊天编辑覆盖层中,这使得可以接受或拒绝更改,或恢复内联聊天控制。

选择并附加用户界面元素到聊天(实验性)

设置

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

在开发网络应用程序时,您可能想询问聊天有关网页特定用户界面元素的问题。现在,您可以使用内置的简单浏览器将用户界面元素作为上下文附加到聊天中。

通过内置的Simple Browser打开任何本地托管的网站(使用Simple Browser: Show命令启动它),现在会显示一个新的工具栏,您可以在其中选择Start以选择网站中您想要的任何元素。这将附上所选元素的屏幕截图以及该元素的HTML和CSS。

配置附加到聊天的项目:

  • chat.sendElementsToChat.attachCSS
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    启用或禁用附加关联的CSS
  • chat.sendElementsToChat.attachImages
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    启用或禁用附加所选元素的截图

此实验性功能默认情况下对所有 Simple Browsers 启用,但可以通过 禁用

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

在代理模式下创建和启动任务(实验性)

设置

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

在之前的版本中,我们引入了

github.copilot.chat.newWorkspaceCreation.enabled
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
(实验性)设置以启用使用代理模式创建工作区。

现在,在这个创建流程的最后,系统会提示您创建并运行一个任务来启动您的应用或项目。这简化了项目启动流程,并允许轻松重复使用任务。

无障碍

合并编辑器改进

合并编辑器现在更易访问。要了解可用操作,请在合并编辑器中打开可访问性帮助对话框 (⌥F1 (Windows Alt+F1, Linux Shift+Alt+F1))。主要操作包括 合并编辑器:完成合并 (⌘Enter (Windows, Linux Ctrl+Enter)) 和 切换合并编辑器输入 (⇧⌘T (Windows, Linux Ctrl+Shift+T))。当前聚焦的输入现在也向辅助技术宣布,以提供帮助。

下一个编辑建议改进

新的设定

无障碍信号.下一个编辑建议
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
当有预测建议可用时通知您。通过无障碍视图(⌥F2(Windows Alt+F2,Linux Shift+Alt+F2)查看和接受建议。此外,
可访问性.信号.差异行添加
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
可访问性.信号.移除不同行
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
在导航过程中提供音频提示,使差异审查可访问。

从可访问视图中查看Copilot用户请求

代理模式中,工具调用或终端命令有时需要用户权限才能运行。在可访问视图(⌥F2(Windows Alt+F2,Linux Shift+Alt+F2)中查看这些操作。

独特的无障碍音效

无障碍信号保存声音
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
现在有了自己独特的音效,不再与 共享音频。
无障碍.信号.终端命令成功.声音
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
输入:.

编辑体验

浮动Windows模式

VS Code中的浮动Windows允许您将编辑器和某些视图从主Windows移动到一个小Windows中,以实现轻量级的多Windows设置。浮动Windows有两种新模式:

  • 紧凑:我们隐藏了一些UI元素,以为空出更多空间来显示实际内容
  • 始终置顶:Windows会在所有其他Windows的最上面,直到你离开此模式

这是一个将浮动编辑器Windows转换为紧凑模式的示例:

我们默认在新Windows创建聊天时使用紧凑模式。结合始终将Windows置顶的选项,您始终可以保持聊天视图以便提问!

如果您更喜欢使用键盘快捷键来执行这些操作,我们引入了新的命令:

  • 工作台.操作.切换Windows始终在最前: 切换始终置顶模式
  • 工作台.操作.启用Windows始终在最前: 使浮动Windows始终在最顶层
  • 工作台.操作.禁用Windows始终在最前: 将浮动Windows设置为正常
  • 工作台.操作.切换紧凑型辅助Windows: 切换紧凑模式
  • 工作台.操作.启用紧凑型辅助Windows启用紧凑模式
  • 工作台.操作.禁用紧凑型辅助Windows: 以禁用紧凑模式

注意: 即使在紧凑模式下,你也可以创建复杂的编辑器布局并打开其他编辑器。

次级侧栏默认可见性

设置

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

默认情况下,当您打开新的工作区或Windows时,次要侧边栏会隐藏。使用新的设置

工作台.次级侧边栏.默认可见性
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
,您可以在新工作区或Windows中选择是否自动打开次级侧边栏。您可以选择:

  • 隐藏这是默认设置,隐藏了次要侧边栏
  • 在工作区可见这将打开次级侧边栏,如果你打开一个文件夹或多根工作区
  • 可见: 这总是打开右侧栏

请注意,当工作区或Windows打开后,其可见性将成为工作区状态,并覆盖设置值。如果您关闭了右侧栏,它将在该工作区或Windows中保持关闭状态。

强制扩展签名验证

现在在所有平台上(Windows、macOS 和 Linux)都要求进行扩展签名验证。之前,只有在 Windows 和 macOS 上才强制要求进行签名验证。随着此次发布,Linux 现在也强制执行扩展签名验证,确保所有扩展在安装前都经过正确验证。

此更改进一步加强了安全性,通过防止潜在恶意扩展的安装。有关更多信息,请参阅扩展签名

注意: 由于 问题 #248308,Linux ARM32 构建的强制扩展签名验证仍然处于禁用状态。这预计将在下一个版本中解决。

当一个扩展被识别为恶意时,VS Code 现在会提供链接以提供更多解释为什么该扩展被标记的信息。这些“了解更多”的链接将用户连接到 GitHub 问题或文档,其中包含有关安全问题的详细信息,帮助您更好地了解潜在风险。

防止在 VS Code 稳定版中安装 Copilot Chat 预发布版本

VS Code 现在防止在 VS Code 稳定版中安装 Copilot Chat 扩展的预发布版本。这有助于避免您意外安装 Copilot Chat 预发布版本并陷入损坏状态的情况。这意味着您只能在 VS Code 内部版本中安装 Copilot Chat 扩展的预发布版本。

命令打开无焦点视图

视图(树视图和网页视图)现在可以在不聚焦的情况下打开。这对于想要打开视图但不从当前编辑器中抢走焦点的扩展和键盘快捷键很有用。该命令是你的视图编号.打开,并且它接受一个属性包参数:{ 保留焦点: 布尔值}输入:.

使用关键词建议的语义文本搜索(实验性)

设置

github.copilot.chat搜索.关键词建议
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

语义文本搜索现在支持基于AI的关键词建议。启用此功能后,您将开始看到相关的参考或定义,这些可能会帮助您找到您正在寻找的代码。

代码编辑

新下一个编辑建议(NES)模型

设置

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

我们很高兴地介绍一个新模型,该模型驱动NES,旨在提供更快和更符合上下文的代码建议。这个更新的模型提供了更好的性能,建议的延迟更低,并且建议的侵入性更少,更符合您最近的编辑。这次更新是我们对在Visual Studio Code中改进AI辅助开发工具的持续承诺的一部分。

导入建议

设置

github.copilot.nextEditSuggestions.fixes
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

Next Edit Suggestions (NES) 现在可以自动建议在 JavaScript 和 TypeScript 文件中添加缺失的导入语句。通过设置启用此功能

github.copilot.nextEditSuggestions.fixes
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
我们计划在未来更新中支持更多语言的进口,以进一步增强这一能力。

截图显示 NES 建议导入语句。

默认开启的下一次编辑建议 (NES)

Next Edit Suggestions 现在默认开启 VS Code Insiders,并且我们正在逐步将其推广到正式版。

在HTML或Markdown中生成替代文本

您现在可以在HTML和Markdown文件中生成或更新现有的替代文本。导航到包含嵌入图像的任何行,并通过⌘.(Windows, Linux Ctrl+.或选择灯泡图标来触发快速修复。

显示为图像html元素生成替代文本的截图。

笔记本电脑

查找和替换历史记录持久化

The Notebook Find 控制现在支持对查找和替换输入字段的持久历史记录。这在重新加载时保持有效,并由设置控制。

编辑器.查找.历史记录
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
编辑器.查找.替换历史记录
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
输入:.

将单元格输出拖放到聊天中

为了增强聊天中细胞输出使用的现有支持,现在可以将输出拖动到聊天视图中,以实现无缝的附件体验。目前,仅支持图像和文本输出。具有图像MIME类型的输出可以直接拖动,但是为了避免与文本选择冲突,文本输出需要按住alt修饰键才能进行拖动。我们正在探索未来版本的用户体验改进。

笔记本工具用于代理模式

运行单元格

聊天现在有一个LLM工具来运行笔记本单元格,这允许代理根据单元格运行结果进行更新,或者在构建笔记本时进行自己的数据探索。

获取内核状态

代理可以使用Kernel State工具找出在当前内核会话中已执行的单元格,并读取活动变量。

列出/安装软件包

Jupyter 扩展为列出和安装包到正在使用的 notebook 内核的环境中提供工具。如果可用,操作将委托给 Python Environments 扩展;否则,它将尝试使用 pip 包管理器。

源代码管理

快速对比分阶段更改的装饰

为响应长期以来的功能请求,我们在这个版本中为暂存更改添加了快速差异编辑器装饰。现在,您可以直接在编辑器中查看暂存更改,无需打开源代码控制视图。

您可以使用以下主题令牌来自定义暂存更改快速比较装饰的颜色:编辑器侧边栏添加了次要背景编辑器侧边栏.修改的次要背景编辑器侧边栏.删除了次要背景输入:.

如果您不想看到暂存更改的快速差异装饰,请使用编辑器边距上下文菜单中的差异装饰子菜单来隐藏它们。

调试

拆卸视图上下文菜单

多亏了一个社区贡献,我们现在在反汇编视图中有了上下文菜单。

显示反汇编视图上下文菜单的截图。

JavaScript 调试器 网络视图

最近版本的Node.js增强了其网络调试能力。 实验性的网络视图 将在支持它的最近版本的Node.js(v22.14.0及更高版本)中默认启用。

语言

显示对CSS和HTML的浏览器支持情况

当悬停在CSS属性、HTML元素或HTML属性上时,您现在会看到一个概要,说明该属性或元素在不同浏览器中的支持程度,使用Baseline

截图显示了CSS悬停中的基线浏览器支持。

默认语法高亮显示.*.env文件

文件名称格式.*.env现在语法高亮显示为.ini文件。

为 JavaScript 和 TypeScript 扩展悬停(实验性)

设置

typescript.experimental.expandableHover
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

我们继续对JavaScript和TypeScript的可扩展悬停功能进行迭代。这个功能让你可以使用一个输入:+输入:-在悬停控制中显示更多或更少类型信息。

此功能仍在实验阶段,但您可以通过启用来尝试它

typescript.experimental.expandableHover
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
。您必须使用TypeScript 5.9或更高版本,例如通过安装TypeScript 夜间构建扩展

远程开发

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

开发容器说明文件

Dev Container 特性和镜像现在包括描述其工具和配置的说明文件。VS Code chat 可以自动使用此上下文,在开发过程中提高其建议的相关性和准确性。

对扩展的贡献

Python

分支覆盖支持

分支覆盖现在在 Python 的测试资源管理器中支持了!请注意,您的覆盖py此功能要求版本必须>= 7.7。您可以通过运行来提高覆盖范围使用pip安装coverage版本为7.7输入:.

Python 环境快速创建命令

Python Environments 扩展已添加对 Quick Create 的支持,使环境创建过程更加流畅。Quick Create 通过检测您机器上的最新 Python 版本来创建虚拟环境,并安装任何工作区依赖项,只需单击一次即可完成。这将创建一个 .venv在基于venv的环境的工作区中,和.conda 基于conda的环境。您可以通过命令面板中的Python: 创建环境命令访问快速创建。

截图显示在Python:创建环境快速选择中的快速创建。

Python 环境 聊天工具

Python 环境 扩展(预览)现在包括两个聊天工具:“获取 Python 环境信息”和“安装 Python 包”。要使用这些工具,您可以通过在提示中添加#python获取环境信息 #python安装包, 或代理模式将根据需要自动调用这些工具。这些工具根据文件或工作区上下文无缝检测适当的环境信息,并使用准确的环境解析处理软件包安装。

使用 Pylance 时的颜色选择器

Pylance 现在可以在编辑器中直接显示 Python 文件中识别的颜色值的交互式颜色样本,使您更容易在编写代码时预览和选择颜色。要尝试一下,您可以启用

python分析启用颜色选择器
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
支持的格式包括 #RGB(如 "#001122")和 #RGBA(如 "#001122FF")。

截图显示在编辑器中显示的#RGB颜色格式旁边的颜色样本。

AI 代码操作:转换格式字符串(实验性)

使用 Pylance 时,有一个新的实验性 AI 代码操作,用于将字符串连接转换为 f 字符串或 format()。要尝试它,请在选择字符串中的符号时通过灯泡选择 使用 Copilot 转换为 f 字符串 或者通过 使用 Copilot 转换为 format() 调用 代码操作,或通过 Ctrl + ./Cmd + .

截图显示由AI驱动的转换字符串代码操作。

此体验通过以下设置启用:

"python.analysis.aiCodeActions": {"convertFormatString": true}

GitHub 拉取请求和问题

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

  • 在聊天中对活跃的拉取请求提出问题,例如“解决#活跃拉取请求中的所有评论”。
  • 在网页视图中查看问题,就像你可以查看拉取请求一样。
  • 波兰语和对齐“拉取请求”、“问题”和“通知”视图。
  • 为 GitHub 项目 Padawan 的发布做准备,通过分配问题给 Copilot、@ 提及 Copilot 并确保在用户界面中正确显示。

查看0.110.0版本的更新日志,了解其他亮点。

扩展编写

文本编码

我们确定了在 VS Code 中处理文本编码的 API。

具体来说,这个新的API允许你:

  • 获取当前编码文本文档
  • 打开一个文本文档具有特定编码
  • 编码一个字符串到一个Uint8数组具有特定编码
  • 解码一个Uint8数组到一个字符串使用特定编码

ESM对扩展的支持

NodeJS 扩展主机现在支持使用 JavaScript 模块 (ESM) 的扩展。它只需要"类型": "模块"在您的扩展中的条目package.json文件。这样,JavaScript代码就可以使用导入导出语句,包括特殊模块导入('vscode')在这里找到一个示例:https://github.com/jrieken/vscode-esm-sample-extension.

请注意,ESM 支持目前还不适用于 Web 工作扩展主机。有一些技术挑战需要先解决。我们将在 https://github.com/microsoft/vscode/issues/130367 上发布更新。敬请关注!

提议的API

工具调用图像

在最后的迭代中,我们添加了一个提议的API,以便扩展程序可以附加图像并发送视觉请求到语言模型。在这一迭代中,我们扩展了这个API,允许工具调用结果包含图像。

查看这个API提案问题,以获取使用示例并了解该API的状态。

由扩展贡献的MCP服务器

扩展可以通过使用新的提议的API来编程方式向编辑器贡献扩展。这是用户在设置中为每个服务器硬编码配置的替代方案。mcp.json输入:.

如果这个API对你有吸引力,请查看 它的示例API提案问题,以了解这个API的状态。

MCP 工具注释

VS Code 现在会显示用适当 工具注释 配置的 MCP 服务器的可读名称。此外,带有 只读提示:真在他们的注释中将允许运行而无需用户确认。

可变行高

现在可以通过在monaco编辑器中设置行高值来定义可变行高。IModelDecorationOptions类型。如果一行上设置了两个行高,该行将使用这两个行高中的较大值。

请注意,为了简单起见,目前只在相应的装饰范围的第一行设置行高。在下面的屏幕录制中,第24和第32行的行高比默认值大。

这项工作目前尚不可用扩展,但在进行更多测试后将推出。

重要修复

  • 244939 - 个人微软账户日志快速注销(几分钟到几小时)

谢谢

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

问题跟踪

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

拉取请求

贡献于Visual Studio Code输入:

贡献于vscode-css-languageservice输入:

贡献于vscode-js调试输入:

贡献于vscode-json-languageservice输入:

贡献于vscode-jupyter输入:

贡献于vscode-mypy输入:

贡献于vscode 笔记本渲染器输入:

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

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

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

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

贡献于摩纳哥编辑器输入: