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

2025年3月(版本1.99)

更新 1.99.1:此更新解决了这些安全问题

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

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

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


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

  • 代理模式

    • 代理模式在 VS Code 稳定版中可用。通过设置启用它
      聊天代理启用
      • 在 VS Code 中打开
      • 在 VS Code Insiders 中打开
      组织
      (更多...).
    • 使用模型上下文协议(MCP)服务器工具扩展代理模式(更多...)。
    • 尝试在代理模式下使用新的内置工具来获取网页内容、查找符号引用和深度思考(更多...)。
  • 代码编辑

    • 下一个编辑建议现在已普遍可用 (更多...).
    • 在AI编辑应用时,编辑器中较少受到诊断事件等干扰的好处 (更多...)。
  • 聊天

    • 使用自己的 API 密钥以访问聊天中的更多语言模型(预览)(更多...)。
    • 从统一的聊天体验中轻松切换到询问、编辑和代理模式 (更多...)。
    • 体验改进的工作区搜索速度和准确性,即时远程工作区索引 (更多...)。
  • 笔记本编辑

    • 像代码文件一样轻松创建和编辑笔记本,支持编辑和代理模式 (更多...)。

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

聊天

代理模式在 VS Code 稳定版中可用

设置

聊天代理启用
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
组织

我们很高兴地宣布,VS Code 稳定版中已支持代理模式!通过设置启用它

聊天代理启用
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
ORG。如果您没有看到该设置,请确保重新加载 VS Code。在接下来的几周内,启用该设置将不再需要,因为我们默认为所有用户启用该功能。

查看代理模式文档或在聊天视图的聊天模式选择器中选择代理模式。

截图显示聊天视图,突出显示在聊天模式选择器中选择的代理模式。

模型上下文协议服务器支持

此版本支持模型上下文协议 (MCP) 服务器在代理模式下运行。MCP 为 AI 模型提供了一种标准化的方法来发现和与外部工具、应用程序和数据源进行交互。当您在 VS Code 中使用代理模式输入聊天提示时,模型可以调用各种工具来执行文件操作、访问数据库或检索网络数据等任务。这种集成使代码辅助更加动态和上下文感知。

MCP服务器可以在以下情况下进行配置mcp在你的用户、远程或代码工作区设置,或在.vscode/mcp.json在你的工作区中。该配置支持输入变量,以避免硬编码秘密和常量。例如,你可以使用${env:API_KEY}引用环境变量或${输入:端点}在服务器启动时提示输入一个值。

您可以使用MCP: Add Server命令从命令行快速设置MCP服务器,或者使用发布到Docker、npm或PyPI的MCP服务器的AI辅助设置。

当添加新的MCP服务器时,聊天视图中会显示刷新操作,可以用来启动服务器并发现工具。之后,服务器会在按需启动以节省资源。

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

如果您已经在其他应用程序(如Claude Desktop,VS Code)中使用了MCP服务器,VS Code将发现它们并提供为您运行它们。此行为可以通过设置切换。

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

你可以使用 MCP: 列出服务器 命令查看MCP服务器列表及其当前状态,并使用 选择工具 按钮在代理模式下选择聊天中可用的工具。

您可以在我们的文档中了解更多关于如何安装和使用MCP服务器的信息。

代理模式工具

在这一里程碑中,我们为代理模式添加了几个新的内置工具。

思维工具(实验性)

设置

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

灵感来自Anthropic的研究,我们增加了在智能体模式下支持一种思维工具的功能,该工具可以在工具调用之间为任何模型提供思考的机会。这提高了我们在产品中和SWE-bench评估中的智能体在复杂任务上的性能。

获取工具

使用#获取 工具,用于在您的提示中包含来自公开网页的内容。例如,如果您想包含有关像MCP这样的主题的最新文档,您可以要求获取完整文档(这方便了LLM消费),然后在提示中使用它。这可能是什么样子的视频:

在代理模式下,此工具会自动拾取,但在其他模式下,您也可以通过 明确地引用它。#获取以及您希望获取的URL。

这个工具通过在无头浏览器Windows中渲染网页来工作,该页面的数据被缓存在本地,因此你可以自由地让模型一次又一次地获取内容,而无需重新渲染的开销。

请告诉我们您如何使用#获取工具,以及您希望它具备哪些功能!

获取工具限制:

  • 目前,此浏览器Windows中禁用了JavaScript。如果网站完全依赖JavaScript来渲染内容,该工具将无法获取大量上下文信息。这是我们正在考虑更改的限制,很可能会允许使用JavaScript。
  • 由于无头浏览器的特性,我们无法获取需要身份验证的页面,因为这个无头浏览器存在于与您使用的浏览器不同的浏览器上下文中。相反,请考虑使用MCP来引入一个为该目标专门设计的MCP服务器,或者一个通用浏览器MCP服务器,例如Playwright MCP服务器

使用工具

#用法该工具是“查找所有引用”、“查找实现”和“转到定义”的组合。此工具可以帮助聊天更好地了解一个函数、类或接口。例如,聊天可以使用此工具查找接口的示例实现,或者在进行重构时找到所有需要更改的地方。

在代理模式下,此工具将被自动拾取,但您也可以通过明确引用它来使用它。#用法

创建一个新的工作区,使用代理模式(实验性)

设置

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

现在你可以在代理模式下构建一个新的 VS Code 工作区。无论你是设置 VS Code 扩展、MCP 服务器还是其他开发环境,代理模式都能帮助你初始化、配置和启动这些项目,并提供必要的依赖项和设置。

VS Code扩展工具在代理模式中

几个月前,我们完成了扩展API,用于语言模型工具,这些工具由VS Code扩展提供。现在,你可以在代理模式中使用这些工具。

任何工具贡献到这个API中设置工具参考名称可以在提示中引用在它的配置中,自动以代理模式提供。

通过在扩展中贡献一个工具,它可以访问完整的 VS Code 扩展 API,并且可以通过扩展市场轻松安装。

类似于MCP服务器的工具,您可以通过 选择工具 按钮在代理模式下启用和禁用这些工具。请参阅我们的 语言模型工具扩展指南 来构建您自己的工具!

代理模式工具批准

作为完成用户提示任务的一部分,代理模式可以运行工具和终端命令。这非常强大,但也可能带来风险。因此,您需要批准在代理模式中使用工具和终端命令。

为了优化此体验,您现在可以在会话、工作区或应用程序级别记住该批准。目前,终端工具尚未启用此功能,但我们计划在未来版本中为终端开发批准系统。

截图显示了代理模式工具“继续”按钮的下拉选项,用于记住批准。

如果你想要自动批准所有工具,你现在可以使用实验性的

chat.tools.autoApprove
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置。这将自动批准所有工具,当语言模型希望运行工具时,VS Code 不会要求确认。请注意,启用此设置后,您将没有机会取消模型希望执行的可能具有破坏性的操作。

我们计划在未来扩展此设置,增加更细致的功能。

代理评估在SWE-bench

VS Code 的代理在 56.0% 的情况下通过。swebench-已验证 与 Claude 3.7 Sonnet,遵循 Anthropic 的 研究,将代理配置为在 SWE-bench 环境中无需用户输入执行。我们的实验已改进提示、工具描述和工具设计,用于代理模式,包括适用于 Claude 3.5 和 3.7 Sonnet 模型的新文件编辑工具。

统一聊天视图

在过去的几个月里,我们有一个“聊天”视图可以向语言模型提问,还有一个“ copilot 编辑”视图用于 AI 助力的代码编辑会话。这个月,我们计划通过将这两个视图合并为一个聊天视图来简化基于聊天的体验。在聊天视图中,您将看到一个包含三种模式的下拉菜单:

显示聊天模式选择器的聊天视图截图。

  • :这与之前的聊天视图相同。可以就你的工作区或一般的编码问题提问,使用任何模型。使用@ 调用内置聊天参与者或来自已安装的 扩展。使用 #手动附加任何类型的上下文。
  • 智能体:使用一组工具启动智能体编码流程,使智能体能够自主收集上下文、运行终端命令或执行其他操作以完成任务。智能体模式已为所有VS Code Insiders用户启用,并且我们正在逐步向VS Code稳定版的越来越多的用户推出。
  • 编辑:在编辑模式下,模型可以对多个文件进行定向编辑。附加 #代码库自动让它找到要编辑的文件。但它不会自动运行终端命令或执行其他操作。

注意:如果在此列表中看不到代理模式,那么可能是尚未为您启用,或者被组织策略禁用,需要由组织所有者启用。

除了使您的聊天体验更简单外,这种统一还为基于AI的代码编辑带来了几个新功能:

  • 在对话中切换模式:例如,你可能在问模式下开始思考一个应用程序的想法,然后切换到代理模式来执行计划。提示:按快速切换模式。
  • 编辑历史中的会话:使用显示聊天命令(聊天视图顶部的钟图标)恢复过去的编辑会话并继续编辑。
  • 将聊天移至编辑器或Windows:选择在新编辑器/新Windows中打开聊天,将您的聊天对话从侧边栏弹出到一个新的编辑器标签页或单独的 VS Code Windows中。聊天已经支持这一点很长时间了,但现在您也可以从编辑器面板或单独的Windows中运行您的编辑/代理会话。
  • 多个代理会话:从上面这一点可以推出,这意味着您可以同时运行多个代理会话。您可能希望有一个代理模式的聊天会话在实现一个功能,另一个独立的会话用于研究和使用其他工具。不建议同时指导两个代理会话编辑文件,这可能会导致混淆。

自定义密钥 (BYOK) (预览)

Copilot Pro 和 Copilot Free 用户现在可以为 Azure、Anthropic、Gemini、Open AI、Ollama 和 Open Router 等流行提供商带来自己的 API 密钥。这使您能够在新模型发布的第一天就使用 Copilot 本地不支持的新模型。

要试用,请选择 管理模型... 从模型选择器中。我们正在积极研究对 Copilot Business 和 Enterprise 客户的支持,并将在未来的版本中分享更新。要了解更多关于此功能的信息,请访问我们的 文档

用户界面中“管理模型 - 预览”下拉菜单的截图。下拉菜单的顶部标有“选择提供者”的标签,其下方有一列选项。选项包括“Anthropic”(蓝色突出显示)、“Azure”、“Gemini”、“OpenAI”、“Ollama”和“OpenRouter”。在“Anthropic”选项旁边显示了一个齿轮图标。

可重复使用的提示文件

改进的配置

设置

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

聊天.提示文件位置
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
当前设置支持文件路径中的 glob 模式。例如,要包含所有提示.md在当前打开的工作区中的文件,您可以设置路径到{ "**": true }输入:.

此外,配置现在在适用的文件系统上遵守大小写敏感性,与主机操作系统的行为保持一致。

改进的提示文件编辑

  • 你的提示.md现在,files 提供基本的文件系统路径自动完成,并突出显示有效的文件引用。另一方面,损坏的链接现在会显示为警告或错误波浪线,并提供详细的诊断信息。
  • 您现在可以在聊天:使用提示命令的提示文件列表中使用编辑和删除操作来管理提示。
  • 提示文件中的文件夹引用不再被标记为无效。
  • Markdown注释现在被正确处理了,例如,生成发送到LLM模型的最终提示时,所有被注释掉的链接都会被忽略。

与自定义指令对齐

.github/copilot-instructions.md文件现在像其他可重复使用文件一样行为。提示.md文件,支持嵌套链接解析和增强的语言特性。此外,任何提示.md文件现在可以被引用并得到适当的处理。

了解更多关于自定义指令的信息。

用户提示

创建用户提示命令现在允许创建一种名为用户提示的新类型的提示。这些提示存储在用户数据文件夹中,并且可以像代码片段或用户设置一样在机器之间同步。同步可以通过同步设置进行配置,使用提示项在同步资源列表中。

改进的视觉支持(预览)

最后迭代,Copilot Vision 被启用GPT-4o查看我们的发布说明,了解如何在聊天中附加和使用图片。

此版本,您可以通过拖放方式从任何浏览器附加图片。从浏览器拖放的图片必须具有正确的URL扩展名,与输入:.jpg.png输入:.gif.webp,或.bmp输入:.

配置编辑器

统一的聊天体验

我们已经将 VS Code 中的聊天体验简化为一个统一的聊天视图。不再需要在不同的视图之间切换并失去对话的上下文,您现在可以轻松切换不同的聊天模式。

显示聊天模式选择器的聊天视图截图。

根据您的情况,使用其中一种模式,并在对话中自由移动:

  • 问模式:优化用于对代码库提问和头脑风暴。
  • 编辑模式:优化用于在代码库的多个文件中进行编辑。
  • 代理模式:为自主编码流程优化,结合代码编辑和工具调用。

获取有关统一聊天视图的更多详细信息。

更快的工作区搜索,即时索引

远程工作区索引 加速在大型代码库中搜索相关代码片段,以便在回答问题和生成编辑时使用AI。这些远程索引特别适用于拥有成千上万甚至数百万个文件的大型代码库。

之前,您需要按下一个按钮或运行一个命令来构建并开始使用远程工作区索引。通过我们新的即时索引支持,现在当您首次尝试请求一个远程工作区时,我们会自动构建远程工作区索引。#代码库输入:/@工作区问题。在大多数情况下,这个远程索引可以在几秒钟内构建。一旦构建完成,你或任何在 VS Code 中与该仓库合作的人都可以自动使用远程索引进行代码搜索。

请记住,远程工作区索引目前仅适用于存储在GitHub上的代码。要使用远程工作区索引,请确保您的工作区包含一个具有GitHub远程的git项目。您可以使用Copilot状态菜单查看当前使用的索引类型:

显示工作区索引状态的截图在 Copilot 状态栏菜单中。

为了管理负载,我们在未来几周内逐步推出即时索引,因此您可能不会立即看到它。您仍然可以运行GitHub Copilot: 构建远程索引命令用于在即时索引未启用时开始使用远程索引的命令。

Copilot状态菜单

Copilot状态菜单现在已为所有用户启用,可以从状态栏访问。这个里程碑我们为其添加了一些新功能:

  • 查看工作区索引的的状态信息。

    显示在 Copilot 菜单中工作区索引状态的截图。

  • 查看是否为活动编辑器启用代码补全。

    一个新的图标反映了状态,这样您就可以快速查看代码补全是否已启用。

    显示在禁用补全时Copilot状态图标截图。

  • 启用或禁用代码补全和NES.

开箱即用的 Copilot 设置(实验性)

设置

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

我们正在推出一个实验性功能,以直接展示功能性的聊天体验。这包括聊天视图、编辑器/终端内嵌聊天和快速聊天。您第一次发送聊天请求时,我们将引导您登录并注册 Copilot Free。

如果你想亲身体验这个过程,请启用

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

聊天预发布频道不匹配

如果你在 VS Code 稳定版中安装了 Copilot Chat 扩展的预发布版本,将出现一个新欢迎屏幕,告知你此配置不被支持。由于聊天功能的快速发展,该扩展不会在 VS Code 稳定版中激活。

欢迎屏幕提供了切换到扩展的发布版本或下载VS Code Insiders的选项。

截图显示了聊天的欢迎视图,表明 VS Code 稳定版不支持该扩展的预发布版本。显示了一个按钮以切换到发布版本,并显示了一个次要链接以切换到 VS Code Insiders。

语义文本搜索改进(实验性)

设置

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

AI驱动的语义文本搜索现在默认启用在搜索视图中。使用⌘I(Windows, LinuxCtrl+I键盘快捷键触发语义搜索,这将显示基于您的查询的最相关结果,叠加在常规搜索结果之上。

您还可以在聊天提示中通过使用 来参考语义搜索结果#搜索结果工具。这使您可以要求LLM总结或解释结果,甚至根据这些结果生成代码。

设置编辑器搜索更新

默认情况下,设置编辑器现在使用我们在上一个版本中引入的键匹配算法进行搜索。即使设置ID与已知设置完全匹配,它也会显示其他设置。

主题: 浅粉色 (预览于 vscode.dev)

新的Windows控制设置(Linux,Windows)

设置

Windows控制风格
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

如果您已经设置了标题栏样式 (

Windows标题栏样式
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
) 到定制, 现在您可以从三种不同的Windows控制风格中进行选择。

  • 本地这是默认设置,并根据底层平台渲染Windows控件
  • 定制: 如果您更喜欢自定义样式而不是原生样式,则渲染Windows控制。
  • 隐藏隐藏Windows控制按钮,如果你想在标题栏中节省一些空间并且更喜欢使用键盘。

代码编辑

下一次编辑建议普遍可用

设置

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

我们很高兴地宣布Next Edit Suggestions (NES)的全面发布!此外,我们还对NES的整体用户体验进行了多项改进:

  • 使编辑建议更紧凑,减少对周围代码的干扰,并且一眼就能读取。
  • 更新了 gutter indicator,以确保所有建议更易于注意到。

AI编辑改进

我们在使用AI生成编辑时做了一些小的调整:

  • 在使用AI编辑重写文件时,静音编辑器外部的诊断事件。之前,我们已经在此情况下禁用了波浪线。这些更改减少了问题面板的闪烁,并确保我们不会发出快速修复代码操作的请求。

  • 现在,当您决定保留AI编辑时,我们会明确保存一个文件。

基于工具的编辑模式

设置

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

我们正在改变 聊天中的编辑模式 操作方式。新的编辑模式采用了与代理模式相同的方法,允许模型调用工具来编辑文件。这种一致性的一个好处是,它使您能够无缝切换到所有三种模式,同时大大简化了这些模式的内部工作方式。

缺点是,这意味着新模式只能与代理模式使用的相同受限集合的模型一起工作,即支持工具调用并且经过测试可以确保在使用工具时能有良好体验的模型。您可能会注意到像这样的模型o3-迷你克劳德 3.7(思考)在编辑模式下从列表中缺少。如果您想继续使用这些模型进行编辑,请禁用

chat.edits2.enabled
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置将恢复到之前的编辑模式。在切换模式时,您将被要求清除会话。

我们了解到,在使用工具时,获得不同模型之间一致的结果的提示变得更加困难,但我们正在努力使这些模型在编辑(和代理)模式下生效。

此设置将逐步为 VS Code 稳定版的用户启用。

内联建议语法高亮

设置

编辑器.内联建议.语法高亮启用
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

通过此更新,内联建议的语法高亮现在默认启用。请注意以下屏幕截图中代码建议已应用语法着色。

编辑器的截图,显示鬼文本已启用语法突出显示。

如果你更喜欢没有语法高亮的内联建议,你可以通过设置禁用它。

编辑器.内联建议.语法高亮启用
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
输入:.

编辑器的截图显示,幽灵文本的突出显示已关闭。

基于 Tree-Sitter 的语法高亮(预览)

设置

编辑器.实验性的.更喜欢树坐标的.css
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
编辑器.实验性的.偏爱树坐标的.正则表达式
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

在之前使用Tree-Sitter进行语法高亮工作的基础上,我们现在支持基于Tree-Sitter的CSS文件和TypeScript中的正则表达式的实验性语法高亮。

笔记本电脑

Jupyter notebook文档的最小版本到4.5

默认版本的nbformat对于新笔记本的版本已从4.2提升到4.5,现在将设置身份证每个单元格的字段有助于计算差异。您还可以通过设置手动更新现有的笔记本。nbformat版本号5在笔记本的原始JSON中。

AI 笔记本编辑改进

AI驱动的笔记本编辑支持(包括代理模式)现在在稳定版本中可用。这个功能是在上个月作为预览功能添加到VS Code Insiders中的。

您现在可以使用聊天功能以与编辑代码文件相同的直观体验来编辑笔记本文件:修改多个单元格中的内容,插入和删除单元格,并更改单元格类型。此功能在处理数据科学或文档笔记本时提供了无缝的工作流程。

新的笔记本工具

VS Code 现在提供了一个专用工具,可以直接从聊天创建新的 Jupyter 笔记本。该工具根据您的查询计划并创建一个新的笔记本。

使用代理模式或编辑模式中的新笔记本工具(确保启用改进的编辑模式

chat.edits2.enabled
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
)。如果你正在使用问模式,请输入/新建笔记本在聊天提示中创建一个新的笔记本。

浏览AI编辑

使用差异工具栏在单元格之间迭代并审查每个AI编辑。

撤销AI编辑

当聚焦于单元格容器时,撤销命令将恢复笔记本级别的所有AI更改。

聊天中的文本和图像输出支持

您现在可以直接将笔记本单元格输出(如文本、错误和图像)添加到聊天中作为上下文。这样,当您使用问、编辑或代理模式时,可以更容易地引用输出,使语言模型能够更好地理解并协助您的笔记本内容。

使用 将单元格输出添加到聊天 操作,可通过三个点的菜单或右键单击输出来实现。

将单元格错误输出作为聊天上下文:

将单元输出图像作为聊天上下文:

无障碍

聊天代理模式改进

您现在会在需要手动操作时收到通知,例如“在终端中运行命令。” 这些信息也会包含在相关聊天回复的ARIA标签中,增强屏幕阅读器用户的可访问性。

此外,在代理模式中提供了一个新的无障碍帮助对话框,解释用户可以期望该功能提供什么以及如何有效地导航它。

聊天编辑操作的无障碍信号

VS Code 现在在您保留或撤销 AI 生成的编辑时会提供声音信号。这些信号可以通过以下方式进行配置

可访问性.信号.保留编辑
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
可访问性.信号.撤销编辑
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
输入:.

改进的ARIA标签用于建议控制

ARIA 标签现在包括更丰富和描述性的信息,例如建议的类型(例如,方法或变量)。此信息以前仅通过图标对视障用户可用。

源代码管理

参考文献选择器改进

设置

git.显示参考详细信息
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开

这个里程碑,我们对用于各种源代码控制操作(如检出、合并、变基或删除分支)的引用选择器进行了改进。更新后的引用选择器包含最近一次提交的详细信息(作者、提交信息、提交日期),以及本地分支的超前/滞后信息。这些额外的上下文将帮助您为各种操作选择正确的引用。

通过切换隐藏附加信息

git.显示参考详细信息
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置。

源代码控制引用选择器的截图,显示了git分支列表,包含最近提交的详细信息和超前/滞后信息。

代码库状态栏项目

包含多个代码库的工作区现在有一个源代码控制提供者状态栏项,该项在分支选择器左侧显示活动的代码库。新的状态栏项提供了额外的上下文信息,因此在您在编辑器之间导航并使用源代码控制视图时,可以知道当前活动的代码库。

要隐藏源代码控制提供者状态栏项目,请右键单击状态栏,并从上下文菜单中取消选择源代码控制提供者

截图显示包含多个仓库的工作区的仓库状态栏项目。

Git 责备编辑器装饰改进

我们收到反馈,当输入时,“未提交”编辑器标记没有提供太多价值,反而是一种干扰。从这个里程碑开始,“未提交”编辑器标记仅在通过键盘或鼠标浏览代码库时显示。

提交输入光标定制

这个里程碑,多亏了社区的贡献,我们已经添加了

编辑器.光标样式
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
编辑器.光标宽度
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
将设置添加到源控制输入框所认可的设置列表中。

终端

在代理模式中的可靠性

允许代理模式在终端中运行命令的工具在可靠性和兼容性方面都有所改进。您应该期望工具卡住或命令完成而没有输出的情况更少。

一个重要的变化是引入了“丰富”质量的概念外壳集成,而不是“基本”和“无”。 VS Code 随附的外壳集成脚本通常都会启用丰富的外壳集成,这在运行终端工具(以及一般的终端使用)中提供了最佳体验。 你可以通过悬停在终端标签上查看外壳集成的质量。

终端IntelliSense改进(预览版)

增强型智能感知代码命令行界面

IntelliSense 现在支持子命令代码代码内幕,和代码隧道命令行界面。例如,输入代码隧道显示可用的子命令,如帮助,和修剪,每个都有描述性信息。

终端Windows的截图,显示已输入代码隧道。建议小部件显示像help、kill、prune等子命令,并对每个命令进行描述。

我们还添加了选项建议:

  • --卸载扩展
  • --禁用扩展
  • --安装扩展

这些显示已安装的扩展列表,以帮助完成命令。

VSCode 终端的截图,显示了代码 --uninstall-extension 命令。列出的可用扩展包括 vscode-eslint 和 editorconfig。

此外,代码 -- 查找 shell 集成路径现在提供特定 shell 的选项,例如巴什zsh,和pwsh输入:.

VSCode终端的截图,显示输入的命令:code --locate-shell-integration-path,下拉菜单列出的选项有bash、fish、pwsh和zsh。

自动刷新全局命令

终端现在在检测到系统更改时会自动刷新其全局命令列表目录。这意味着新安装的 CLI 工具(例如,运行后)npm install -g pnpm) 将会立即显示在补全中,无需重新加载Windows。

之前,新工具的完成建议不会显示,直到Windows被手动重新加载,这中间可能会有缓存。

选项价值上下文

终端建议现在显示有关预期选项值的上下文信息,帮助您更轻松地完成命令。

终端显示正在执行命令的截图:npm install --omit。终端建议的小部件显示 以指示这是预期的选项。

丰富的 fish shell 完成设置

在最近的版本中,我们为bash和zsh添加了详细的命令补全。这一版本中,我们扩展了对fish的支持。补全细节来自 shell 的文档或内置帮助命令。

例如,输入工作在fish展示中使用信息和选项:

截图显示Visual Studio Code终端中,fish终端显示用户已输入jobs命令。显示的建议小部件提供了关于jobs命令的信息,包括详细的使用示例和选项。

建议中的文件类型图标

终端中的建议现在包括特定图标的不同文件类型,使区分脚本和二进制文件更加容易。

终端截图,显示各种脚本文件的建议,包括code.sh、code-cli.sh和code-server.js。图标表示特定的文件类型。

内联建议详细信息

内联建议,在终端中以幽灵文本的形式显示,继续出现在建议列表的顶部。在此次发布中,我们为这些条目添加了命令详情,以在接受它们之前提供更多的上下文信息。

终端截图,终端中显示的Block命令以幽灵文本形式存在。第一个建议是block,它包含使用信息。

新的简化和详细标签悬停

默认情况下,终端标签现在显示的细节更少了。

简单悬停截图,显示终端名称、PID、命令行、 shell 集成质量和操作

要查看所有内容,请在悬停时点击显示详细信息按钮。

详细悬停的截图,显示对环境有贡献的扩展和详细的外壳集成诊断

已签署的PowerShell外壳集成

PowerShell 脚本现在已签名,这意味着在使用默认的 PowerShell 执行策略时,Windows 上的 shell 集成远程签名 现在应该自动开始工作。您可以在此阅读更多关于 shell integration 的好处

终端外壳类型

在这一迭代中,我们已经完成了终端外壳 API 的最终确定,允许扩展在终端中查看用户的当前外壳类型。 订阅事件onDidChangeTerminalState允许您在终端中查看用户 shell 类型的变化。 例如,shell 可能会从 zsh 变为 bash。

所有可识别的弹壳列表目前在此列出这里

远程开发

Linux 旧版服务器支持已结束

自1.99版本发布后,您将无法再连接到这些服务器。正如我们在1.97版本发布说明中所述,需要更多时间完成迁移到支持的Linux发行版的用户可以提供自定义构建的glibclibstdc++ 作为解决方法。有关此解决方法的更多信息,请参阅 常见问题 部分。

企业

macOS 设备管理

VS Code 现在除了支持 Windows 之外,还支持在 macOS 上进行设备管理。这使得系统管理员可以从集中的管理系统(例如 Microsoft Intune)推送策略。

请参阅企业支持 文档以获取更多详细信息。

对扩展的贡献

Python

更好的支持Pylance的可编辑安装

Pylance 现在支持解析以可编辑模式安装的包的导入路径 (pip install -e .) 如 PEP 660 所定义的,这在这些情况下启用了一个改进的 IntelliSense 体验。

此功能通过启用

python分析启用可编辑安装
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
并计划在本月底将其作为默认体验推出。如果您遇到任何问题,请在 Pylance GitHub 仓库 报告。

使用 Pylance(实验性)可以更快速、更可靠的诊断体验

我们正在开始推出一项更改,以提高在使用扩展的发布版本时Pylance诊断的准确性和响应性。这特别有助于处理多个打开或最近关闭的文件的场景。

如果您不想等待推出,您可以设置

python分析使用拉取诊断
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
如果遇到任何问题,请在Pylance GitHub 仓库中报告。

Pylance 自定义 Node.js 参数

有一个新的

python分析节点参数
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置,这允许您在使用时直接将自定义参数传递给Node.js
python分析节点可执行文件
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
默认情况下,它设置为"--max-old-space-size=8192",但您可以根据需要进行修改(例如,在处理大型工作区时为 Node.js 分配更多内存)。

此外,当设置

python分析节点可执行文件
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
自动Pylance 现在会自动下载 Node.js。

扩展编写

Terminal. shellIntegration 调整

终端. shell集成 API 现在只有在命令检测发生时才会启动。以前,这应该在 当前工作目录被报告时工作,这导致TerminalShellIntegration.执行命令不能很好地工作。

此外,TerminalShellIntegration.执行命令 现在将更一致地行为,并跟踪单个命令行中多个“子执行”,该命令行最终运行了多个命令。这依赖于在提到的丰富 shell 集成。代理模式可靠性部分

提议的API

任务问题匹配器状态

我们已添加提议的API,以便扩展可以监控任务的问题匹配器何时开始和完成处理行。使用任务问题匹配器状态输入:.

发送图片到LLM

在这一迭代中,我们添加了一个提议的API,以便扩展可以附加图像并发送视觉请求到语言模型。附件必须是图像的原始二进制数据,而不是 base64 编码的(Uint8数组最大图像大小为5MB。

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

工程

使用新的/最新从市场检查扩展更新的API

在过去的几个里程碑中,我们在 中引入了一个新的 API 端点vscode-unpkg服务用于检查扩展更新。市场现在支持相同的端点,VS Code 现在使用此端点来检查扩展更新。这背后有一个实验,并将逐步向用户推出。

谢谢

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

问题跟踪

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

拉取请求

贡献于Visual Studio Code输入:

贡献于vscode-css-languageservice输入:

贡献于vscode-自定义数据输入:

贡献于vscode扩展示例输入:

贡献于vscode扩展遥测输入:

贡献于vscode-js调试输入:

贡献于vscode-mypy输入:

贡献于vscode-prompt-tsx输入:

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

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

贡献于vscode测试输入:

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

贡献于Python 环境工具输入: