2025 年 3 月 (版本 1.99)
更新 1.99.1:此更新解决了这些安全问题。
更新 1.99.2:此更新解决了这些问题。
更新 1.99.3:此更新解决了这些问题。
下载:Windows:x64 Arm64 | Mac:通用 Intel Silicon | Linux:deb rpm tarball Arm snap
欢迎使用 Visual Studio Code 2025 年 3 月版。此版本有许多更新,希望您会喜欢,主要亮点包括
-
代理模式
- 智能体模式现已在 VS Code 稳定版中提供。通过设置chat.agent.enabled 来启用它(更多...)。
- 通过模型上下文协议 (MCP) 服务器工具扩展智能体模式(更多...)。
- 在智能体模式中尝试新内置工具,用于获取 Web 内容、查找符号引用和深度思考(更多...)。
-
代码编辑
-
聊天
-
笔记本编辑
- 通过对编辑和智能体模式的支持,可以像编辑代码文件一样轻松地创建和编辑笔记本(更多...)。
如果您想在线阅读这些发行说明,请访问 code.visualstudio.com 上的更新。Insiders:想尽快尝试新功能吗?您可以下载每晚Insiders版本并尽快尝试最新更新。
聊天
智能体模式现已在 VS Code 稳定版中提供
我们很高兴地宣布,智能体模式现已在 VS Code 稳定版中提供!通过设置chat.agent.enabled 来启用它。如果您看不到此设置,请确保重新加载 VS Code。在未来几周内,随着我们将默认启用此设置向所有用户推出,启用此设置将不再是必需的。
查看智能体模式文档或在聊天视图的聊天模式选择器中选择智能体模式。

模型上下文协议服务器支持
此版本支持智能体模式下的模型上下文协议 (MCP) 服务器。MCP 提供了一种标准化的方法,供 AI 模型发现和与外部工具、应用程序和数据源进行交互。当您在 VS Code 中使用智能体模式输入聊天提示时,模型可以调用各种工具来执行文件操作、访问数据库或检索 Web 数据等任务。这种集成使得更动态、更具上下文感知能力的编码助手成为可能。
MCP 服务器可以在您的用户、远程或 .code-workspace 设置的 mcp 部分进行配置,或者在工作区中的 .vscode/mcp.json 中进行配置。配置支持输入变量,以避免硬编码秘密和常量。例如,您可以使用 ${env:API_KEY} 来引用环境变量,或在服务器启动时使用 ${input:ENDPOINT} 来提示输入值。
您可以使用 **MCP: 添加服务器** 命令从命令行调用快速设置 MCP 服务器,或使用从发布到 Docker、npm 或 PyPI 的 MCP 服务器进行 AI 辅助设置。
添加新的 MCP 服务器后,聊天视图中会显示一个刷新操作,可用于启动服务器并发现工具。之后,服务器会按需启动以节省资源。
主题:Codesong(在vscode.dev上预览)
如果您已经在 Claude Desktop 等其他应用程序中使用 MCP 服务器,VS Code 将会发现它们并提供运行它们的选项。此行为可以通过设置chat.mcp.discovery.enabled 进行切换。
您可以使用 **MCP: 列出服务器** 命令查看 MCP 服务器列表及其当前状态,并使用智能体模式中的 **选择工具** 按钮来选择可供聊天使用的工具。
您可以在我们的文档中了解更多关于如何安装和使用 MCP 服务器的信息。
智能体模式工具
在此里程碑中,我们在智能体模式中添加了几种新的内置工具。
思考工具(实验性)
设置:github.copilot.chat.agent.thinkingTool。
受Anthropic 的研究启发,我们在智能体模式中增加了对思考工具的支持,该工具可用于让任何模型有机会在工具调用之间进行思考。这提高了我们在产品内和SWE-bench评估中处理复杂任务的智能体性能。
获取工具
使用 #fetch 工具将公开可访问网页的内容包含在提示中。例如,如果您想包含关于 MCP 等主题的最新文档,可以请求获取完整文档(该文档已方便地准备好供 LLM 使用),并在提示中使用它。这是它可能是什么样子的视频:
在智能体模式下,此工具会自动拾取,但您也可以在其他模式下通过 #fetch 和要获取的 URL 来显式引用它。
此工具通过在无头浏览器窗口中渲染网页来工作,该窗口将页面数据本地缓存,因此您可以反复自由地要求模型获取内容,而无需重新渲染的开销。
请告诉我们您如何使用 #fetch 工具,以及您希望从中获得哪些功能!
获取工具的限制
- 目前,此浏览器窗口中禁用了 JavaScript。如果网站完全依赖 JavaScript 来呈现内容,该工具将无法获取太多上下文。这是一个我们正在考虑更改并可能更改以允许 JavaScript 的限制。
- 由于其无头特性,我们无法获取需要身份验证的页面,因为此无头浏览器存在于与您使用的浏览器不同的浏览器上下文中。相反,可以考虑使用MCP来引入专门为此目标构建的 MCP 服务器,或者一个通用的浏览器 MCP 服务器,例如Playwright MCP 服务器。
用法工具
#usages 工具是“查找所有引用”、“查找实现”和“转到定义”的组合。此工具可以帮助聊天了解有关函数、类或接口的更多信息。例如,聊天可以使用此工具查找接口的示例实现,或在进行重构时查找需要更改的所有位置。
在智能体模式下,此工具将自动拾取,但您也可以通过 #usages 显式引用它。
使用智能体模式创建新工作区(实验性)
设置:github.copilot.chat.newWorkspaceCreation.enabled
您现在可以在智能体模式下搭建新的 VS Code 工作区。无论您是设置 VS Code 扩展、MCP 服务器还是其他开发环境,智能体模式都可以帮助您初始化、配置和启动这些项目,并提供必要的依赖项和设置。
智能体模式下的 VS Code 扩展工具
几个月前,我们最终确定了 VS Code 扩展提供的语言模型工具的扩展 API。现在,您可以在智能体模式中使用这些工具。
任何在此 API 中贡献的工具,如果在其配置中设置了 toolReferenceName 和 canBeReferencedInPrompt,则将在智能体模式下自动可用。
通过在扩展中贡献一个工具,它就可以访问完整的 VS Code 扩展 API,并且可以通过扩展市场轻松安装。
与 MCP 服务器的工具类似,您可以使用智能体模式中的 **选择工具** 按钮启用和禁用它们。请参阅我们的语言模型工具扩展指南来构建您自己的工具!
智能体模式工具审批
作为完成用户提示任务的一部分,智能体模式可以运行工具和终端命令。这功能强大但潜在风险也大。因此,您需要批准在智能体模式下使用工具和终端命令。
为了优化此体验,您现在可以在会话、工作区或应用程序级别记住该审批。目前此功能不适用于终端工具,但我们计划在未来的版本中为终端开发审批系统。

如果您想自动批准所有工具,现在可以使用实验性设置chat.tools.autoApprove。这将自动批准所有工具,VS Code 不会询问确认语言模型是否要运行工具。请注意,启用此设置后,您将无法取消模型可能采取的破坏性操作。
我们计划将来将此设置扩展到更精细的功能。
SWE-bench 上的智能体评估
VS Code 的智能体在 swebench-verified 上使用 Claude 3.7 Sonnet 实现了 56.0% 的通过率,这遵循了 Anthropic 在SWE-bench 环境中配置智能体无需用户输入即可执行的研究。我们的实验已转化为改进的提示、工具描述和智能体模式的工具设计,包括用于文件编辑的新工具,这些工具属于 Claude 3.5 和 3.7 Sonnet 模型的分发内。
统一聊天视图
在过去的几个月里,我们有一个“聊天”视图用于向语言模型提问,以及一个“Copilot 编辑”视图用于 AI 驱动的代码编辑会话。本月,我们的目标是通过将这两个视图合并到一个聊天视图中来简化基于聊天的体验。在聊天视图中,您将看到一个包含三种模式的下拉菜单。

- 提问:这与之前的聊天视图相同。使用任何模型提问有关您的工作区或编码的一般问题。使用
@调用内置聊天参与者或已安装的扩展。使用#手动附加任何类型的上下文。 - 智能体:启动一个智能代码流程,其中包含一组工具,使它能够自主收集上下文、运行终端命令或执行其他操作来完成任务。智能体模式对所有VS Code Insiders 用户启用,并且我们正在将其逐步推广到越来越多的 VS Code 稳定版用户。
- 编辑:在编辑模式下,模型可以对多个文件进行定向编辑。附加
#codebase让它自动查找要编辑的文件。但它不会自动运行终端命令或执行其他任何操作。
注意:如果您在此列表中看不到智能体模式,则表明它尚未为您启用,或者它被组织策略禁用,需要由组织所有者启用。
除了使您的聊天体验更简单之外,这种统一还为 AI 驱动的代码编辑带来了一些新功能。
- 在对话中切换模式:例如,您可能开始在“提问”模式下构思一个应用想法,然后切换到“智能体”模式来执行计划。提示:快速按切换模式。
- 历史记录中的编辑会话:使用 **显示聊天** 命令(聊天视图顶部的时钟图标)来恢复过去的编辑会话并继续处理它们。
- 将聊天移至编辑器或窗口:选择 **在新编辑器/新窗口中打开聊天** 将您的聊天对话从侧边栏弹出到一个新的编辑器选项卡或单独的 VS Code 窗口。聊天很早以前就支持此功能,但现在您也可以从编辑器窗格或单独的窗口中运行您的编辑/智能体会话。
- 多个智能体会话:承接以上一点,这意味着您可以同时运行多个智能体会话。您可能希望有一个智能体模式的聊天正在处理一个功能的实现,而另一个独立会话用于进行研究和使用其他工具。不建议同时将两个智能体对话指向文件进行编辑,这可能会导致混淆。
自带密钥 (BYOK)(预览)
Copilot Pro 和 Copilot Free 用户现在可以自带 API 密钥用于 Azure、Anthropic、Gemini、Open AI、Ollama 和 Open Router 等流行提供商。这使您能够在不受 Copilot 原生支持的新模型发布的第一天就使用它们。
要尝试,请从模型选择器中选择 **管理模型...**。我们正在积极探索对 Copilot Business 和 Enterprise 客户的支持,并将分享未来版本的更新。要了解此功能的更多信息,请访问我们的文档。

可重用提示文件
改进配置
chat.promptFilesLocations 设置现在支持文件路径中的 glob 模式。例如,要包含当前打开的工作区中所有 .prompt.md 文件,您可以将路径设置为 { "**": true }。
此外,配置现在会尊重文件系统上的大小写敏感性,与主机操作系统的行为一致。
改进提示文件编辑
- 您的
.prompt.md文件现在提供文件系统路径的基本自动完成功能,并高亮显示有效的文件引用。另一方面,损坏的链接现在会显示为警告或错误波浪线,并提供详细的诊断信息。 - 您现在可以通过 **聊天:使用提示** 命令中的提示文件列表中的编辑和删除操作来管理提示。
- 提示文件中的文件夹引用不再被标记为无效。
- Markdown 注释现在已得到正确处理,例如,在生成发送到 LLM 模型的最终提示时,所有注释掉的链接都会被忽略。
与自定义说明保持一致
.github/copilot-instructions.md 文件现在表现得像其他任何可重用的 .prompt.md 文件一样,支持嵌套链接解析和增强的语言功能。此外,任何 .prompt.md 文件现在都可以被引用并得到恰当的处理。
了解更多关于自定义说明的信息。
用户提示
创建用户提示 命令现在允许创建一种称为*用户提示*的新类型提示。这些提示存储在用户数据文件夹中,并且可以跨机器同步,类似于代码片段或用户设置。可以通过使用同步资源列表中的 **提示** 项在设置同步中配置同步。
改进的视觉支持(预览)
上个版本,Copilot Vision 已为 GPT-4o 启用。查看我们的发布说明,了解更多关于如何在聊天中附加和使用图像的信息。
此版本中,您可以通过拖放将图像从任何浏览器附加。从浏览器拖放的图像必须具有正确的 url 扩展名,包含 .jpg、.png、.gif、.webp 或 .bmp。
配置编辑器
统一聊天体验
我们将 VS Code 中的聊天体验整合到一个统一的聊天视图中。您现在可以轻松地在不同的聊天模式之间切换,而无需在单独的视图之间移动并丢失对话的上下文。

根据您的场景,使用以下任一模式,并在对话中自由切换:
- 提问模式:针对询问您的代码库问题和集思广益的创意进行了优化。
- 编辑模式:针对对代码库中的多个文件进行编辑进行了优化。
- 智能体模式:针对自主代码流程进行了优化,结合了代码编辑和工具调用。
获取有关统一聊天视图的更多详细信息。
通过即时索引实现更快的本地工作区搜索
远程工作区索引可以加速搜索大型代码库以获取 AI 在回答问题和生成编辑时使用的相关代码片段。这些远程索引对于包含数万甚至数十万个文件的超大型代码库尤其有用。
以前,您必须按一个按钮或运行一个命令来构建并开始使用远程工作区索引。有了我们新的即时索引支持,当您首次尝试询问 #codebase/@workspace 问题时,我们会自动构建远程工作区索引。在大多数情况下,此远程索引可以在几秒钟内构建完成。构建完成后,您或任何在 VS Code 中处理该存储库的其他人进行的任何代码库搜索都将自动使用远程索引。
请记住,远程工作区索引目前仅适用于存储在 GitHub 上的代码。要使用远程工作区索引,请确保您的工作区包含一个具有 GitHub 远程的 git 项目。您可以使用 Copilot 状态菜单查看当前使用的索引类型。

为了管理负载,我们将在未来几周内逐步推出即时索引,因此您可能无法立即看到它。当即时索引尚未为您启用时,您仍然可以运行 GitHub Copilot: Build remote index command 命令来开始使用远程索引。
Copilot 状态菜单
现在,所有用户都可以使用状态栏中的 Copilot 状态菜单。在此里程碑中,我们为其添加了一些新功能:
开箱即用的 Copilot 设置(实验性)
我们正在发布一项实验性功能,以提供开箱即用的功能聊天体验。这包括聊天视图、编辑器/终端行内聊天和快速聊天。当您第一次发送聊天请求时,我们将引导您完成登录和注册 Copilot Free 的过程。
如果您想亲自体验此功能,请启用chat.setupFromDialog 设置。
聊天预发布频道不匹配
如果您在 VS Code 稳定版中安装了 Copilot Chat 扩展的预发布版本,一个新的欢迎屏幕将通知您此配置不受支持。由于聊天功能的快速开发,扩展在 VS Code 稳定版中将不会激活。
欢迎屏幕提供了切换到扩展的发布版本或下载VS Code Insiders 的选项。

语义文本搜索改进(实验性)
设置:github.copilot.chat.search.semanticTextResults
AI 驱动的语义文本搜索现已在“搜索”视图中默认启用。使用 ⌘I (Windows, Linux Ctrl+I) 键盘快捷键可以触发语义搜索,该搜索会根据您的查询显示最相关的结果,置于常规搜索结果的顶部。
您还可以通过使用 #searchResults 工具在聊天提示中引用语义搜索结果。这使您可以要求 LLM 总结或解释结果,甚至根据结果生成代码。
设置编辑器搜索更新
默认情况下,设置编辑器搜索现在使用我们在上一个版本中引入的键匹配算法。即使设置 ID 与已知设置完全匹配,它也会显示其他设置。
主题:浅粉色(在 vscode.dev 上预览)
窗口控件的新设置(Linux,Windows)
如果您已将标题栏样式(window.titleBarStyle)设置为 custom,则现在可以在三种不同的窗口控件样式之间进行选择。
native:这是默认设置,根据底层平台渲染窗口控件。custom:使用自定义样式渲染窗口控件,如果您更喜欢自定义样式而不是原生样式。hidden:完全隐藏窗口控件,如果您想在标题栏中节省一些空间并且是更侧重于键盘的用户。
代码编辑
下一个编辑建议全面可用
设置:github.copilot.nextEditSuggestions.enabled
我们很高兴地宣布 Next Edit Suggestions (NES) 已全面可用!此外,我们还对 NES 的整体用户体验进行了多项改进。
- 使编辑建议更紧凑,减少对周围代码的干扰,并更易于一目了然地阅读。
- 更新了装订指示器,以确保所有建议都更容易被注意到。
AI 编辑改进
我们在生成 AI 编辑时进行了一些微调。
-
在 AI 编辑重写文件时,将编辑器外部的诊断事件静音。以前,我们已经在此场景中禁用了波浪线。这些更改减少了“问题”面板中的闪烁,并确保我们不会为快速修复代码操作发出请求。
-
当您决定保留 AI 编辑时,我们会显式保存文件。
基于工具的编辑模式
我们正在对聊天中的编辑模式的运行方式进行更改。新的编辑模式使用与智能体模式相同的处理方式,它允许模型调用工具来修改文件。这种统一的一个好处是,它使您可以在所有三种模式之间无缝切换,同时极大地简化了这些模式在底层的工作方式。
缺点是这意味着新模式仅适用于与智能体模式相同的精简模型集,即支持工具调用并且经过测试可以确保我们在涉及工具时获得良好体验的模型。您可能会在编辑模式的模型列表中看到 o3-mini 和 Claude 3.7 (Thinking) 等模型缺失。如果您想继续使用这些模型进行编辑,请禁用 chat.edits2.enabled 设置以恢复到之前的编辑模式。切换模式时会要求您清空会话。
我们发现,在使用工具时,跨不同模型获得一致结果的提示更难,但我们正在努力使这些模型在编辑(和智能体)模式下可用。
此设置将逐渐为 VS Code 稳定版用户启用。
内联建议语法高亮
设置:editor.inlineSuggest.syntaxHighlightingEnabled
通过此更新,内联建议的语法高亮显示现在默认启用。请注意,在以下屏幕截图中,代码建议已应用语法着色。

如果您喜欢没有语法高亮的内联建议,可以使用 editor.inlineSuggest.syntaxHighlightingEnabled 禁用它。

基于 Tree-Sitter 的语法高亮(预览)
设置:editor.experimental.preferTreeSitter.css 和 editor.experimental.preferTreeSitter.regex
在先前使用 Tree-Sitter 进行语法高亮工作的基础上,我们现在支持 CSS 文件以及 TypeScript 中的正则表达式的实验性、基于 Tree-Sitter 的语法高亮。
Notebook
Jupyter 笔记本文档的最小版本为 4.5
新笔记本的 nbformat 默认版本已从 4.2 提升到 4.5,这将为笔记本的每个单元格设置 id 字段,以帮助计算差异。您也可以通过在笔记本的原始 JSON 中将 nbformat_minor 设置为 5 来手动更新现有笔记本。
AI 笔记本编辑改进
笔记本的 AI 驱动编辑支持(包括智能体模式)现已在稳定版中提供。此功能已于上个月作为预览功能添加到VS Code Insiders。
您现在可以使用聊天来编辑笔记本文件,获得与编辑代码文件相同的直观体验:修改跨单元格的内容、插入和删除单元格以及更改单元格类型。此功能在处理数据科学或文档笔记本时提供了无缝的工作流程。
新的笔记本工具
VS Code 现在提供了一个专用工具,可以直接从聊天中创建新的 Jupyter 笔记本。此工具会根据您的查询来规划和创建新笔记本。
在智能体模式或编辑模式下使用新的笔记本工具(确保使用 chat.edits2.enabled 启用改进的编辑模式)。如果您使用的是提问模式,请在聊天提示中输入 /newNotebook 来创建新笔记本。
浏览 AI 编辑
使用差异工具栏来迭代和审查跨单元格的每个 AI 编辑。
撤销 AI 编辑
当聚焦于单元格容器时,**撤销**命令会在笔记本级别恢复整套 AI 更改。
聊天中的文本和图像输出支持
您现在可以将笔记本单元格的输出(如文本、错误和图像)直接添加到聊天中作为上下文。这使您可以在使用提问、编辑或智能体模式时引用输出,从而更容易让语言模型理解和帮助处理您的笔记本内容。
使用**将单元格输出添加到聊天**操作,可通过三个点菜单或右键单击输出获得。
将单元格错误输出附加为聊天上下文
将单元格输出图像附加为聊天上下文
辅助功能
聊天智能体模式改进
当在工具调用过程中需要手动操作时(例如“在终端中运行命令”),您现在会收到通知。此信息也包含在相关聊天响应的 ARIA 标签中,从而增强了屏幕阅读器用户的可访问性。
此外,在智能体模式中提供了一个新的可访问性帮助对话框,解释了用户可以从该功能中预期什么以及如何有效导航它。
用于聊天编辑操作的可访问性信号
VS Code 现在在您保留或撤销 AI 生成的编辑时提供声音信号。这些信号可通过 accessibility.signals.editsKept 和 accessibility.signals.editsUndone 进行配置。
改进的建议控件 ARIA 标签
建议控件项的 ARIA 标签现在包含更丰富、更具描述性的信息,例如建议的类型(例如,方法或变量)。以前,只有视力正常的用户才能通过图标获得此信息。
源代码管理
引用选择器改进
在此里程碑中,我们对用于各种源代码管理操作(如签出、合并、变基或删除分支)的引用选择器进行了改进。更新后的引用选择器包含最后一个提交的详细信息(作者、提交消息、提交日期),以及本地分支的超前/落后信息。这些附加的上下文将帮助您为各种操作选择正确的引用。
通过切换 git.showReferenceDetails 设置来隐藏附加信息。

存储库状态栏项
包含多个存储库的工作区现在拥有一个源代码管理提供程序状态栏项,该项显示在分支选择器左侧的活动存储库。新的状态栏项提供了额外的上下文,因此您在导航编辑器和使用源代码管理视图时知道哪个是活动存储库。
要隐藏源代码管理提供程序状态栏项,请右键单击状态栏,然后从上下文菜单中取消选中源代码管理提供程序。

Git blame 编辑器装饰改进
我们收到反馈,在键入时,“尚未提交”编辑器装饰并没有提供太多价值,反而是一种干扰。从这个里程碑开始,“尚未提交”编辑器装饰仅在通过键盘或鼠标导航代码库时显示。
提交输入光标自定义
在此里程碑中,得益于社区的贡献,我们已将 editor.cursorStyle 和 editor.cursorWidth 设置添加到源代码管理输入框所遵守的设置列表中。
终端
代理模式下的可靠性
允许代理模式在终端中运行命令的工具进行了一系列可靠性和兼容性改进。您应该会遇到更少出现工具卡住或命令完成但没有输出的情况。
较大的更改之一是引入了“丰富”质量的 shell 集成概念,而不是“基本”和“无”。VS Code 附带的 shell 集成脚本通常会启用丰富 shell 集成,从而在终端中的“在终端中运行”工具(以及一般的终端使用)中获得最佳体验。您可以通过将鼠标悬停在终端标签上来查看 shell 集成质量。
终端 IntelliSense 改进(预览)
增强了 code CLI 的 IntelliSense
IntelliSense 现在支持 code、code-insiders 和 code-tunnel CLI 的子命令。例如,键入 code tunnel 会显示可用的子命令,如 help、kill 和 prune,每个子命令都有描述性信息。

我们还为以下命令添加了选项建议:
--uninstall-extension--disable-extension--install-extension
这些选项会显示已安装的扩展列表,以帮助完成命令。

此外,code --locate-shell-integration-path 现在提供特定于 shell 的选项,如 bash、zsh、fish 和 pwsh。

全局命令自动刷新
当检测到系统 bin 目录中的更改时,终端现在会自动刷新其全局命令列表。这意味着新安装的 CLI 工具(例如,在运行 npm install -g pnpm 之后)将立即显示在自动完成中,无需重新加载窗口。
以前,由于缓存,新工具的自动完成不会出现,直到窗口被手动重新加载。
选项值上下文
终端建议现在显示有关预期选项值的上下文信息,帮助您更轻松地完成命令。

fish shell 的丰富自动完成
在上一版本中,我们为 bash 和 zsh 添加了详细的命令自动完成。在此次迭代中,我们已将支持扩展到 fish。自动完成详细信息来自 shell 的文档或内置帮助命令。
例如,在 fish 中键入 jobs 会显示用法信息和选项

建议中的文件类型图标
终端中的建议现在包含不同文件类型的特定图标,使区分脚本和二进制文件一目了然。
![]()
内联建议详细信息
内联建议(显示为终端中的幽灵文本)继续显示在建议列表的顶部。在此版本中,我们向这些条目添加了命令详细信息,以便在接受它们之前提供更多上下文。

新的简化和详细的标签页悬停
默认情况下,终端标签页现在显示的详细信息要少得多。

要查看所有内容,请在悬停的底部找到“显示详细信息”按钮。

签名 PowerShell shell 集成
Shell 集成 PowerShell 脚本现在已签名,这意味着在 Windows 上使用默认的 RemoteSigned PowerShell 执行策略时,shell 集成现在应该可以自动开始工作。您可以在此处 阅读有关 shell 集成的好处。
终端 shell 类型
在此迭代中,我们已最终确定了我们的终端 shell API,允许扩展查看用户在终端中的当前 shell 类型。订阅事件 onDidChangeTerminalState 允许您查看用户在终端中的 shell 类型变化。例如,shell 可以从 zsh 更改为 bash。
当前可识别的 shell 列表可在此处查看
远程开发
Linux 旧版服务器支持已结束
从 1.99 版本开始,您将无法再连接到这些服务器。如我们在 1.97 版本中所述,需要额外时间迁移到受支持的 Linux 发行版的用户可以通过提供 glibc 和 libstdc++ 的自定义构建作为一种变通方法。有关此变通方法的更多信息,请参阅 FAQ 部分。
企业
macOS 设备管理
VS Code 现在支持 macOS 上的设备管理,以及 Windows。这使系统管理员能够从集中式管理系统(如 Microsoft Intune)推送策略。
有关更多详细信息,请参阅 企业支持文档。
对扩展的贡献
Python
Pylance 对可编辑安装更好的支持
Pylance 现在支持解析已安装在可编辑模式(pip install -e .)下的包的导入路径,如 PEP 660 所定义,这在这些场景下提供了改进的 IntelliSense 体验。
此功能通过 python.analysis.enableEditableInstalls 启用,我们计划在本月内逐步将其作为默认体验推出。如果您遇到任何问题,请在 Pylance GitHub 仓库中报告。
Pylance(实验性)更快速、更可靠的诊断体验
我们正在开始推出一项更改,以提高 Pylance 在使用扩展的发布版本时的诊断准确性和响应速度。这对于具有多个打开或最近关闭文件的场景特别有用。
如果您不想等待推出,可以设置 python.analysis.usePullDiagnostics。如果您遇到任何问题,请在 Pylance GitHub 仓库中报告。
Pylance 自定义 Node.js 参数
有一个新的 python.analysis.nodeArguments 设置,允许您在使用 python.analysis.nodeExecutable 时直接将自定义参数传递给 Node.js。默认情况下,它设置为 "--max-old-space-size=8192",但您可以根据需要进行修改(例如,为大型工作区分配更多 Node.js 内存)。
此外,当将 python.analysis.nodeExecutable 设置为 auto 时,Pylance 现在会自动下载 Node.js。
扩展创作
Terminal.shellIntegration 调整
Terminal.shellIntegration API 现在仅在命令检测发生时才激活。以前,当仅报告当前工作目录时,此功能应该可以工作,这导致 TerminalShellIntegration.executeCommand 无法正常工作。
此外,TerminalShellIntegration.executeCommand 现在将表现得更加一致,并跟踪单个命令行中运行多个命令的多个“子执行”。这取决于 代理模式下的可靠性部分中提到的丰富 shell 集成。
提议的 API
任务问题匹配器状态
我们已添加 提议 API,以便扩展可以监视任务的问题匹配器何时开始和完成处理行。使用 taskProblemMatcherStatus 启用它。
将图像发送到 LLM
在此迭代中,我们添加了一个 提议 API,以便扩展可以附加图像并将视觉请求发送给语言模型。附件必须是图像的原始、非 base64 编码的二进制数据 (Uint8Array)。最大图像尺寸为 5MB。
查看 此 API 提议问题以查看用法示例并及时了解此 API 的状态。
工程
使用 Marketplace 的新 /latest API 检查扩展更新
几个里程碑前,我们在 vscode-unpkg 服务中引入了一个新的 API 端点来检查扩展更新。Marketplace 现在支持相同的端点,VS Code 现在正在使用此端点来检查扩展更新。此功能处于实验阶段,并将分阶段向用户推出。
感谢
最后但同样重要的是,向 VS Code 的贡献者们致以衷心的感谢。
问题跟踪
对我们问题跟踪的贡献
- @gjsjohnmurray (John Murray)
- @albertosantini (Alberto Santini)
- @IllusionMH (Andrii Dieiev)
- @RedCMD (RedCMD)
拉取请求
对 vscode 的贡献
- @a-stewart (Anthony Stewart):在测试中添加 2 小时偏移量,以避免在时钟更改后少一天 PR #243194
- @acdzh (Vukk):在更新 JSONEditingService 中的多个值时修复 hasEdits 标志的值 PR #243876
- @c-claeys (Cristopher Claeys):在聊天重试操作中增加请求尝试次数 PR #243471
- @ChaseKnowlden (Chase Knowlden):为合并编辑器添加可访问性帮助 PR #240745
- @dibarbet (David Barbet):更新 C# onEnterRules 以考虑文档注释 PR #242121
- @dsanders11 (David Sanders):修复 vscode.d.ts 中几个损坏的
@linkPR #242407 - @jacekkopecky (Jacek Kopecký):在 scm 输入编辑器中支持更多光标设置 PR #242903
- @joelverhagen (Joel Verhagen):即使扩展 URL 未设置,也显示支持 URL 和许可证 URL PR #243565
- @kevmo314 (Kevin Wang):修复注释拼写错误 PR #243145
- @liudonghua123 (liudonghua):支持 explorer.copyPathSeparator PR #184884
- @mattmaniak:使遥测信息表稍微窄一点并对齐 PR #233961
- @notoriousmango (Seong Min Park)
- 修复:使用 copy 命令处理 markdown 预览中具有 CORS 错误的图像 PR #240508
- 修复在具有换行符的设置上错误的字符缩进 PR #242074
- @pprchal (Pavel Prchal):为右键单击图标添加了本地化 PR #243679
- @SimonSiefke (Simon Siefke):功能:在设置中支持字体系列选择器 PR #214572
- @tribals (Anthony):添加 PowerShell Core 用户安装的发现 PR #243025
- @tusharsadhwani (Tushar Sadhwani):使
git showref 参数明确 PR #242483 - @wszgrcy (chen):修复:扩展未捕获的异常监听 Maximum call stack size exceeded PR #244690
- @zyoshoka (zyoshoka):纠正
typescript-basics扩展路径 PR #243833
对 vscode-css-languageservice 的贡献
- @lilnasy (Arsh):支持
@starting-stylePR #421
对 vscode-custom-data 的贡献
- @rviscomi (Rick Viscomi):添加计算的基线状态 PR #111
对 vscode-extension-samples 的贡献
- @ratmice (matt rice):修复 esbuild 脚本 PR #1154
对 vscode-extension-telemetry 的贡献
- @minestarks (Mine Starks):从 common.platformversion 中删除多余的大括号 PR #221
对 vscode-js-debug 的贡献
- @erikson84 (Erikson Kaszubowski):修复:在 Windows 上设置断点时确保路径中存在反斜杠 PR #2184
- @xymopen (xymopen_Official):支持 usenode 作为 npm 脚本运行器 PR #2178
对 vscode-mypy 的贡献
- @ivirabyan (Ivan Virabyan):仅报告 mypy 配置指定的文件 PR #352
对 vscode-prompt-tsx 的贡献
- @dsanders11 (David Sanders):docs:修复 README 示例中的 sendRequest API 名称 PR #159
- @tamuratak (Takashi Tamura)
对 vscode-pull-request-github 的贡献
- @aedm (Gábor Gyebnár):将
sanitizedLowercaseIssueTitle添加到设置文档 PR #6690
对 vscode-python-debugger 的贡献
- @rchiodo (Rich Chiodo):将 debugpy 更新到最新版本 PR #653
对 vscode-test 的贡献
- @SKaplanOfficial (Stephen Kaplan):修复:解压缩时避免“无效提取目录” PR #303
对 language-server-protocol 的贡献
- @MariaSolOs (Maria José Solano):在元模型中更新范围格式化功能 PR #2106
对 python-environment-tools 的贡献
- @CharlesChen0823:bump winreg PR #195
- @elprans (Elvis Pranskevichus)

