☰
Visual Studio Code 1.101(2025 年 5 月)版本解析:MCP 全面增强、Chat 工具集与 Agent 编码工作流升级
2026/10/10 2:42:14 网站建设 项目流程
  • 文档
  • 教程

【免费下载链接】vscode-docs

Public documentation for Visual Studio Code

项目地址:https://gitcode.com/gh_mirrors/vs/vscode-docs
点击查看免费下载

导读:本文基于 Visual Studio Code 官方文档仓库中的 May 2025(1.101)发布说明,系统梳理该版本围绕 Model Context Protocol(MCP)、Chat/Agent 协作、编辑体验与扩展开发引入的核心能力。你将掌握 MCP 的 prompts、resources、sampling、auth 与 development mode 五大新特性,学会用 tool sets、自定义聊天模式等机制编排 Agent 工作流,并了解任务实例策略、终端语言服务补全等工程细节,以及面向扩展作者的安全扫描与 Web 环境检测迁移方案。

版本概览与发布节奏

Visual Studio Code 1.101 于2025 年 6 月 12 日正式发布,对应 2025 年 5 月里程碑(下载版本号为 1.101.2)。本次发布包含两次恢复性更新:

  • 1.101.1:修复 May 2025 Recovery 1 里程碑中关闭的问题。
  • 1.101.2:修复 May 2025 Recovery 2 里程碑中关闭的问题。

同时该版本包含一次安全更新:ms-python.python扩展发布了安全修复版本。习惯抢先体验新功能的用户可以通过 Insiders 夜间构建持续跟踪后续迭代。

本次发布的核心亮点集中在以下四条主线:

  • MCP:为 Agent 编码流程扩展 prompts、resources、sampling 支持;支持需要认证的 MCP 服务器;提供 MCP 服务器开发模式;扩展可通过新 API 发布 MCP 服务器集合。
  • Chat:通过 tool sets(工具集)对相关工具进行分组与管理。
  • Source Control:Source Control Graph 视图支持查看历史条目文件;可在 VS Code 内为 GitHub Copilot Coding Agent 分配并跟踪任务。

MCP 五大能力升级

1. Prompts:以斜杠命令复用可复用任务模板

VS Code 的 Model Context Protocol 支持新增prompt(提示词模板)能力。MCP 服务器可以定义 prompts,用于为语言模型生成可复用的片段或任务模板。在聊天中,prompts 以/斜杠命令的形式暴露,格式为/mcp.servername.promptname。

使用时你可以在 prompt 变量中填入纯文本或包含命令输出,服务器提供补全(completions)时也会被支持。典型流程是:用 AI 生成 prompt,通过 Gistpad MCP 服务器保存,再在聊天中调用它生成 changelog 条目。对应的演示视频见 mcp-prompts.mp4。

仓库佐证:仓库中的 MCP 服务器管理文档 将 Prompts 归纳为 MCP 服务器的三大上下文能力之一:Prompts 是来自 MCP 服务器的预配置提示模板,用于标准化常见任务,每个服务器可暴露与其能力匹配的专属 prompt 集合,使用方式为在聊天输入框中输入/<MCP server>.<prompt>。

2. Resources:将服务器数据作为上下文附加到聊天

MCPresources(资源)支持让服务器暴露只读数据(如文件、数据库表、API 响应)作为聊天上下文。本次新增对资源模板(resource templates)的支持,资源在多个入口可用:

  1. MCP 工具调用返回的资源可供模型使用,并可在聊天中保存——通过Save按钮,或直接拖拽到资源管理器(Explorer)视图。
  2. 作为上下文附加:在聊天输入框选择Add Context...→MCP Resources...。
  3. 浏览与查看:使用MCP: Browse Resources命令浏览各服务器的资源;或通过MCP: List Servers命令进入某一服务器查看。

演示视频见 mcp-resources.mp4。

仓库佐证:仓库的 MCP 服务器管理文档 同时补充了与 Agent 协作相关的资源管理命令,包括MCP: Browse Resources(浏览 MCP 服务器提供的资源)与MCP: Reset Cached Tools(服务器工具变更后清理缓存的工具列表),后者可参考 MCP 配置参考 中的命令表。

3. Sampling(实验性):MCP 服务器反向请求模型

sampling(采样)允许 MCP 服务器向模型发出请求,从而在后台让服务器与语言模型交互。出于安全考虑:

  • MCP 服务器首次发起 sampling 请求时,VS Code 会要求你确认。
  • 在MCP: List Servers中选择服务器,可以配置该服务器可访问的模型,并查看请求日志。

VS Code 团队明确表示采样支持仍处于初步阶段,后续迭代会继续扩展与完善。演示视频见 mcp-sampling.mp4。

仓库佐证:对应的设置项在 MCP 配置参考 中登记为chat.mcp.serverSampling,用于配置向 MCP 服务器暴露哪些模型以支持其后台采样请求。

4. Auth:支持需要认证的 MCP 服务器

VS Code 现在支持需要认证的 MCP 服务器,允许你与代表你的用户账户操作外部服务的 MCP 服务器交互。该功能为客户端实现了 MCP 授权规范,支持两套规范:

  • 2025-03-26 规范:MCP 服务器充当授权服务器(authorization server)。
  • Draft 草案规范:MCP 服务器充当资源服务器(resource server),预计很快正式定稿。

认证体验分为两类:

(1)Draft 规范 + GitHub/Entra 作为授权服务器:可以在账户菜单中通过Manage Trusted MCP Servers管理哪些 MCP 服务器能访问你的账户(见下图),并可通过齿轮按钮管理该服务器使用哪个账户。

(2)依赖动态客户端注册(dynamic client registration)的服务器:认证状态与其他认证信息同处一处展示(例如 Linear 会出现在账户菜单中),可在此处退出登录。这类服务器不仅支持授权码(authorization code)流程,只要授权服务器支持,也支持设备码(device code)流程。

同时新增命令Authentication: Remove Dynamic Authentication Providers,用于清理动态客户端注册——它会丢弃 VS Code 被签发的 client id 以及该认证提供方关联的全部数据。

注意:MCP: Add Server...命令是添加 MCP 服务器的统一入口,需要认证的服务器同样通过该命令添加。授权相关细节可进一步参考仓库的 MCP 服务器管理文档 与 MCP 配置参考(其中oauth.clientId等字段用于配置远程服务器的 OAuth 认证,首次连接时 VS Code 会自动打开浏览器完成授权流程)。

5. Development mode:开发模式下调试与热重启 MCP 服务器

为方便 MCP 服务器开发调试,可在服务器配置中加入dev键启用development mode,它是一个包含两个属性的对象:

  • watch:文件 glob 模式,监听文件变化并重启 MCP 服务器。
  • debug:为 MCP 服务器挂接调试器。目前仅支持以node和python启动的 Node.js 与 Python 服务器。

以.vscode/mcp.json为例(+行为新增内容):

{ "servers": { "gistpad": { "command": "node", "args": ["build/index.js"], "dev": { "watch": "build/**/*.js", "debug": { "type": "node" } } } } }

仓库佐证:MCP 配置参考 对dev键做了更完整的字段说明:watch支持单个 glob 或 glob 数组且适用于所有服务器类型;debug目前支持调试 Node.js 与 Python MCP 服务器,且仅适用于 stdio 服务器。调试 Node.js 服务器时将debug.type设为node。完整的开发模式讲解见 MCP 开发者指南 的"MCP development mode in VS Code"一节。

Chat 与 Agent 工作流增强

Chat tool sets:把相关工具打包成可复用的工具集

VS Code 现在允许通过 Proposed API 或 UI 定义tool sets(工具集)。工具集是一组可像单个工具一样使用的工具集合,便于对相关工具分组,并在 Agent 模式下快速整体启用或禁用。例如下面这个管理 GitHub 通知的工具集:

{ "gh-news": { "tools": [ "list_notifications", "dismiss_notification", "get_notification_details" ], "description": "Manage GH notification", "icon": "github-project" } }

创建方式:在命令面板运行Configure Tool Sets>Create new tool sets file,然后选择要纳入工具集的工具,并提供描述与图标。使用方式:在聊天查询中通过#提及工具集名称,例如#gh-news;也可以在聊天输入框的工具选择器(tool picker)中直接选择。

仓库佐证:仓库的 工具集文档 对该能力做了完整补充:

  • 工具集文件是.jsonc格式,通过Chat: Configure Tool Sets命令或聊天视图...菜单创建。
  • 一个工具集包含三个属性:tools(内置、MCP 或扩展工具名的数组)、description(显示在工具选择器中的简述)、icon(图标,可参考 Product Icon Reference)。
  • VS Code 还内置了预定义工具集,例如#edit与#search。
  • 工具集可以同时用于 prompt files 与 自定义 Agent;在工具选择器中工具集显示为可折叠分组,可一键整体启用/停用。

自定义聊天模式(Preview):为专属工作流定制 Chat 行为

默认聊天视图提供 Ask、Edit、Agent 三种内置聊天模式,每种模式带有描述 LLM 处理方式的基座指令与可用工具列表。现在你可以定义自定义聊天模式,用于定制 Chat 行为并指定该模式下可用的工具——尤其适合专用工作流,例如创建一个只读访问代码库的"规划新功能"模式。

定义与使用步骤:

  1. 在命令面板运行Chat: Configure Chat Modes命令定义自定义模式。
  2. 在生成的*.chatprompt.md文件中提供指令与可用工具。
  3. 在 Chat 视图的模式下拉列表中选择该模式。
  4. 提交聊天提示词。

以下是一个自定义 "Planning" 模式的完整示例:

--- description: Generate an implementation plan for new features or refactoring existing code. tools: ['codebase', 'fetch', 'findTestFiles', 'githubRepo', 'search', 'usages'] --- # Planning mode instructions You are in planning mode. Your task is to generate an implementation plan for a new feature or for refactoring existing code. Don't make any code edits, just generate a plan. The plan consists of a Markdown document that describes the implementation plan, including the following sections: * Overview: A brief description of the feature or refactoring task. * Requirements: A list of requirements for the feature or refactoring task. * Implementation Steps: A detailed list of steps to implement the feature or refactoring task. * Testing: A list of tests that need to be implemented to verify the feature or refactoring task.

该功能仍在推进中,VS Code 团队邀请用户在 Insiders 中试用并反馈问题。与之类似的自定义能力可参考仓库的 自定义 Agent 文档:自定义 Agent 通过.agent.md文件定义角色(如规划、代码审查),可组合指令、工具与可选的语言模型,并可与子代理(subagents)配合使用。

聊天体验(UX)改进

  • 用户消息与 AI 响应更易区分:基于用户反馈,用户消息的外观变得更加鲜明。
  • 撤销请求更直观:悬停请求并点击X按钮即可撤销该请求及其后续请求;也可使用快捷键kb(workbench.action.chat.undoEdits)更快完成。
  • 附件更易导航:聊天输入框的附件现在具备更强的可导航性。
  • Floating window 改进:将聊天会话移入浮动窗口后,标题栏新增两个操作——把聊天停靠回来源窗口、在浮动窗口中新建聊天会话。
  • Fetch 工具确认:fetch 工具用于抓取网页信息,其确认提示中新增了提示注入(prompt injection)风险警告。
  • 自定义更多内置工具:Agent 模式或自定义模式下,现在可以启用/禁用全部内置工具。例如禁用editFiles可阻止 Agent 模式直接编辑文件,禁用runCommands可阻止运行终端命令。在 Agent 模式下选择Configure Tools按钮即可打开工具选择器;其中部分条目是聚合多个工具的工具集(如editFiles聚合了编辑/创建文本文件与 Notebook 的多组工具)。
  • 向聊天发送网页元素(实验性):继上个月在 Simple Browser 中支持选择网页元素加入聊天后,本次为 Live Preview 扩展 也加入了网页元素选择能力——安装扩展并从任意 HTML 文件启动 live server 即可体验。

编辑效率与上下文注入

  • 更高效地应用编辑:编辑文件时 VS Code 有两种路径——整文件重写,或执行多次小规模编辑。前者对大型文件较慢且中间状态往往无法编译通过,因此 UI 会在必要时条件性地禁用自动保存与波浪线诊断。同时统一了Keep与Undo命令的快捷键:单个变更使用kb(chatEditor.action.acceptHunk)与kb(chatEditor.action.undoHunk);保留/撤销文件内全部变更使用kb(chatEditor.action.accept)与kb(chatEditor.action.reject)。这一对齐还消除了与热门编辑命令(如Delete All Left)的键位冲突。
  • 隐式上下文(Implicit context):聊天中"添加当前文件为上下文"的流程被简化。此前略显笨拙的"眼球开关"被移除,现在当前文件会作为建议上下文项出现,选中即可加入或移出上下文;在提示输入框中按Shift+Tab, Enter可快速完成。Agent 模式下还会提示当前编辑器的文件名称与光标位置(不含文件内容),Agent 可自行调用工具读取文件。
  • 任务配置错误修复:当任务配置(tasks 与 problem matchers)出现错误时,可使用Fix with GitHub Copilot操作快速修复。
  • 任务诊断感知:Chat Agent 执行任务时,现在能感知 problem matchers 识别出的错误与警告,从而更智能地响应。
  • 终端 cwd 上下文:Agent 模式打开终端且 shell 集成启用时,Chat Agent 能感知当前工作目录(cwd),命令支持更准确。

聊天中的其他 Agent 协作特性

  • Chat tool sets 与工具选择器:已在"Chat tool sets"一节详述。
  • 内置工具的自定义:见"聊天体验(UX)改进"。
  • 发送元素到聊天:见"聊天体验(UX)改进"。

Accessibility 无障碍改进

  • 用户操作提示音:新增无障碍信号,提示聊天需要用户操作,该行为默认关闭(accessibility.signals.chatUserActionRequired)。
  • 代码操作新音效:代码操作被触发时(accessibility.signals.codeActionTriggered)与代码操作被应用时(accessibility.signals.codeActionApplied)分别引入独立音效。
  • Agent 模式无障碍增强:无障碍视图现在包含确认对话框的丰富信息(过去的工具运行、当前工具运行、待处理确认及将使用的输入);确认对话框出现时,操作标题会被纳入代码块的 ARIA label、响应 ARIA label 与实时警报,为屏幕阅读器用户提供更好上下文。

编辑器体验(Editor Experience)

  • 随输随查(Find as you type):设置editor.find.findOnType:true。Find 控件默认即随输随查,现在你可以关闭它,改为仅在按回车后才执行搜索。
  • 自定义菜单 + 原生窗口标题栏:设置window.menuStyle。可指定 Windows/Linux 菜单栏与上下文菜单、macOS 上下文菜单的样式:
    • native:由操作系统渲染;
    • custom:由 VS Code 渲染;
    • inherit:跟随window.titleBarStyle的标题栏样式(可组合"原生标题栏 + 自定义菜单栏/上下文菜单")。
  • Linux 原生窗口上下文菜单:在自定义标题栏的应用图标上右键,现在支持原生窗口上下文菜单。截图见 linux-os-title-menu.png。
  • 进程管理器支持 Web:进程管理器(process explorer)改用浮动窗口基础设施,因此在连接到远程环境(如 Codespaces)的 Web 端也支持进程管理器。截图见 process-explorer.png。
  • Windows shell 环境发现:为 Windows 上的 PowerShell 实现 shell 环境发现——VS Code 会继承 PowerShell 配置文件中设置的环境(例如 Node.js 通过各类版本管理器配置的 PATH 更新)。
  • 未发布扩展警告:已安装的扩展若在 Marketplace 中不再可用,会显示警告标识,帮助你识别被下架或移除的潜在问题扩展。截图见 pulled-extension.png。
  • 设置搜索建议(Preview):设置workbench.settings.showAISearchToggle:true。Settings 编辑器中新增 AI 搜索开关,按语义相似度返回结果(例如搜索 "increase text size" 能命中editor.fontSize)。启用该设置并重载 VS Code 后可见。下一里程碑可能移除开关,改为由实验性设置控制何时把较慢的 AI 搜索结果直接追加到列表末尾。
  • 搜索关键词建议(Preview):设置search.searchView.keywordSuggestions。关键词建议的性能显著提升(比此前快约 5 倍);设置从 Chat 扩展移入 VS Code 核心,并更名为search.searchView.keywordSuggestions(原github.copilot.chat.search.keywordSuggestions)。
  • 语义搜索行为选项(Preview):设置search.searchView.semanticSearchBehavior。控制语义搜索何时触发:
    • manual(默认):仅通过 UI 手动触发(kb(search.action.searchWithAI));
    • runOnEmpty:文本搜索无结果时自动运行语义搜索;
    • auto:每次搜索都并行运行语义搜索。
  • Edit Context:设置editor.editContext在 Stable 上默认启用——编辑器输入改由 EditContext API 驱动,修复了大量问题(尤其是 IME 体验),并为更灵活的输入体验铺路。

代码编辑(Code Editing)

  • NES 导入建议:设置github.copilot.nextEditSuggestions.fixes。上个月引入的 next edit suggestions(NES)会自动建议补全 TypeScript/JavaScript 缺失的 import 语句;本月提升了建议的准确性与可靠性,并扩展支持Python 文件。NES 对所有 Insiders 用户启用,6 月期间会逐步对 Stable 用户默认启用,也可随时通过设置自行开启。
  • NES 接受流程:接受 next edit suggestions 的键盘导航更流畅。接受一条建议后,只要没有开始再次输入,即可连续按kbstyle(Tab)接受后续建议;一旦开始输入,需要先按kbstyle(Tab)把光标移到下一条建议,再接受。

Notebooks

  • Agent 单元执行的跟随模式(Follow mode):设置github.copilot.chat.notebook.followCellExecution.enabled。开启后,Notebook 视图会自动滚动到 Agent 当前正在执行的单元格。Agent 使用运行单元格工具后,Notebook 工具栏会出现图钉图标指示跟随状态;可在 Agent 响应过程中随时切换(无需改动基础设置值)——需要审查某段代码时可临时关闭,希望继续跟随时再打开,从下一次执行处重新加入。演示视频见 notebook-follow-mode.mp4。
  • Agent 模式的 Notebook 工具:
    • Configure notebook:Jupyter 扩展贡献了配置 Jupyter Notebook Kernel 的工具,确保 Kernel 已选中并可立即使用;该流程会在必要时引导创建虚拟环境(推荐方式)或选择现有 Python 环境。这让 LLM 能以最少的人工交互在 Notebook 上执行操作(如运行单元格)。
    • 长时运行的 Agent 工作流:Agent 拥有内部 Notebook Summary 工具,在上下文过大时用于总结会话历史,保持 Agent 在复杂操作中的准确上下文。
    • 运行确认中的单元格预览:Agent 请求确认运行单元格时,会显示该单元格的代码片段;聊天视图中的单元格链接可直接跳转到 Notebook 中的对应单元格。

源代码管理(Source Control)

Copilot Coding Agent 集成

GitHub Copilot Coding Agent 可以像人类开发者一样在后台独立完成任务。本次扩展了 GitHub Pull Requests 扩展,方便在 VS Code 内为 Agent 分配和跟踪任务:

  • Assign to Copilot:从 issue 或 PR 视图把 pull request 或 issue 分配给 Copilot。
  • Copilot on My Behalf PR 查询:快速查看 Copilot 正在为你处理的全部 PR。
  • PR 视图:查看 Copilot Coding Agent 的状态,并在浏览器中打开会话详情。

截图见 github-pull-request-coding-agent.png。

Source control history item details

按需实现:在 Source Control Graph 视图中选择历史条目,现在会显示该条目的资源文件,可通过...菜单在树视图与列表视图间切换。悬停时使用Open Changes操作可在多文件 diff 编辑器中打开该条目的全部资源;在 Graph 视图中选择某个资源则只打开该资源的 diff 编辑器;Open File操作可打开该特定版本的文件。演示视频见 source-control-graph-view-resources.mp4。

将历史条目加入聊天上下文

现在可以把源代码管理历史条目作为上下文加入聊天请求——适合把某个 commit 或 PR 的内容作为聊天提示的上下文。操作方式:在 Chat 视图中使用Add Context>Source Control并选择历史条目;或在源代码管理图中右键历史条目,选择Copilot>Add History Item to Chat。截图见 chat-context-source-control-commit.png。

任务(Tasks):实例策略

任务的runOptions新增instancePolicy属性,决定任务达到instanceLimit后的行为。可选值包括:

  • prompt(默认):提示用户;
  • silent:静默处理;
  • terminateNewest:终止最新实例;
  • terminateOldest:终止最旧实例;
  • warn:发出警告。

该特性由社区 PR 贡献("Add a task instancePolicy to task runOptions"),完整配置位于仓库的 tasks.json 参考文档 与 变量参考 体系之内。

终端:基于语言服务器的终端补全

语言服务器补全现已进入终端:交互式 Python REPL 会话中可获得与编辑器中相同的语言补全。目前通过 Pylance 支持 Python,未来计划扩展更多语言。启用以下四项设置即可体验:

  • terminal.integrated.shellIntegration.enabled:true
  • python.terminal.shellIntegration.enabled:true
  • terminal.integrated.suggest.enabled:true
  • python.analysis.supportAllPythonDocuments:true

演示视频见 lsp_completions.mp4。

远程开发(Remote Development)

Remote Development 扩展包支持将 Dev Container、SSH 远程机器、Remote Tunnels 或 WSL 作为全功能开发环境。本里程碑亮点包括:

  • SSH 预连接脚本(pre-connection script);
  • Remote Explorer 改进。

更多细节见仓库中的 远程开发发布说明。

扩展生态与扩展作者(Extension Authoring)

MCP 扩展 API:从扩展发布 MCP 服务器

扩展现在可以发布MCP 服务器集合:既可以把 MCP 服务器捆绑进扩展,也可以构建从其他来源动态发现 MCP 服务器的扩展。

仓库佐证:MCP 开发者指南 给出了完整实现路径:扩展须在package.json中贡献contributes.mcpServerDefinitionProviders扩展点(提供id与label,id须与实现一致),并在扩展代码中使用vscode.lm.registerMcpServerDefinitionProviderAPI 注册提供器。McpServerDefinitionProvider对象包含三个属性:onDidChangeMcpServerDefinitions(配置变化事件)、provideMcpServerDefinitions(返回vscode.McpServerDefinition[])、resolveMcpServerDefinition(编辑器需要启动服务器时调用,可在此执行需要用户交互的操作如认证)。服务器定义分为vscode.McpStdioServerDefinition(本地进程 + stdin/stdout)与vscode.McpHttpServerDefinition(Streamable HTTP 传输)两类。

打包扩展时的密钥扫描

VSCE打包扩展时现在会扫描密钥。如果源码文件中检测到潜在密钥(例如 API key、令牌、凭据,或.env这类环境变量文件),VSCE 会在打包过程中显示错误,帮助你避免把敏感信息误发布到 Marketplace。发布前务必审查并处理每个错误。

如需跳过特定检查,可在运行 VSCE 时使用以下标志:

  • --allow-package-secrets <secret_type>:跳过指定类型的密钥检查;
  • --allow-package-env-file:跳过环境变量文件检查。

Web 环境检测(破坏性变更)

⚠️破坏性变更⚠️

随着 Electron 35 运行时更新,Node.js 扩展宿主从 v20 升级到v22,桌面端与远程扩展宿主随之支持navigator全局对象。这可能破坏依赖navigator对象存在性来判断 Web 环境的扩展。

为帮助扩展作者迁移,VS Code 提供了一个初始化为undefined的globalThis.navigatorpolyfill,由设置extensions.supportNodeGlobalNavigator控制。默认该设置关闭、polyfill 生效;扩展以这种方式访问navigator时,VS Code 会采集遥测并在扩展开发模式下记录错误。

该设置未来可能默认开启,建议扩展作者按以下步骤迁移:

  1. 检查扩展宿主日志中是否存在源自你扩展的PendingMigrationError;
  2. 将typeof navigator === 'object'这类检查迁移为typeof process === 'object' && process.versions.node;
  3. 启用extensions.supportNodeGlobalNavigator;
  4. 验证扩展行为保持不变。

对扩展的贡献:Python 与 GitHub Pull Requests

Python 扩展新增聊天工具:"Get information for a Python Environment"、"Get executable information for a Python Environment"、"Install Python Package"、"Configure Python Environment"。可在提示中直接引用(#getPythonEnvironmentInfo、#installPythonPackage),Agent 模式也会按需自动调用;工具会根据文件/工作区上下文自动检测环境信息,并以准确的环境解析处理包安装。此前在 Python Environments 扩展(预览)中引入的工具已迁移至 Python 扩展。Python Environments 扩展还支持从模板创建项目(命令Python Envs: Create Project from Template,可选包或脚本:包创建可命名包名、创建虚拟环境,并生成包含 tests 子目录、pyproject.toml、dev-requirements.txt、__main__.py/__init__.py样板文件的脚手架;脚本创建则生成带样板代码的 Python 文件),并新增pyenv环境管理与poetry包/环境管理支持。

GitHub Pull Requests 扩展0.112.0 的亮点包括:私有仓库评论中的图片现在可在 PR 文件评论中显示;"Notifications" 视图默认显示且折叠;timeline 及 issue/PR 正文中的链接现在在 VS Code 内打开;"Assigned to Me" 查询被移除,"Local Pull Request Branches" 与 "All Open" 查询可通过githubPullRequests.queries设置移除(未配置时,支持 Copilot 的仓库会新增 "Copilot on My Behalf" 查询);Copilot 的 "start working"、"stop working" 与 "View Session" 会显示在 timeline 中。

Proposed API:Authentication Providers 支持的 MCP 授权服务器

该 API 提案目前仅用于 MCP 认证,允许你的AuthenticationProvider声明与其关联的授权服务器。

例如 GitHub 认证提供方在 package.json 的认证提供方贡献中通过authorizationServerGlobs属性包含典型的 GitHub 授权 URL:

{ "label": "GitHub", "id": "github", "authorizationServerGlobs": [ "https://github.com/login/oauth" ] }

该属性用于扩展激活——请求的授权服务器匹配时,扩展即被激活。此外,注册认证提供方时必须包含最终确定的授权服务器 URL globs,与 GitHub 认证的做法一致:

vscode.authentication.registerAuthenticationProvider( type, this._githubServer.friendlyName, this, { supportsMultipleAccounts: true, supportedAuthorizationServers: [ ghesUri ?? vscode.Uri.parse('https://github.com/login/oauth') ] } );

更复杂的例子是 Microsoft 认证:授权服务器依赖路径中的 tenant,因此在贡献中使用通配符:

{ "label": "Microsoft", "id": "microsoft", "authorizationServerGlobs": [ "https://login.microsoftonline.com/*/v2.0" ] }

注册时同样使用通配符 URL:

authentication.registerAuthenticationProvider( 'microsoft', 'Microsoft', authProvider, { supportsMultipleAccounts: true, supportedAuthorizationServers: [ Uri.parse('https://login.microsoftonline.com/*/v2.0') ] } )

当调用方请求认证时传入授权服务器 URL,它会通过既有的AuthenticationProviderSessionOptions传递到getSessions与createSession函数。目前该能力用于 MCP 支持:VS Code 从 MCP 服务器收到授权服务器 URL 后,将其映射到某个认证提供方;若不存在,则为该认证服务器动态创建提供方。

相关配置与设置可参考仓库的 MCP 配置参考 中的oauth字段(clientId为必填,enterpriseManaged为预览功能,通过mcp.enterpriseManagedAuth.idp设置走企业 SSO)。

工程实践(Engineering)

  • Electron 35 更新:本里程碑将 Electron 35 推广到 Stable 发布,包含 Chromium 134.0.6998.205 与 Node.js 22.15.1。团队感谢在 Insiders 构建上自行承载并提供早期反馈的用户。
  • 在真实扩展中采用 ESM:上个月宣布支持 JavaScript 模块(ESM),使扩展可以使用import/export语句(目前仅限 NodeJS 扩展宿主)。本月在 GitHub Issue Notebooks 扩展上完成了真实世界落地——该扩展同时运行于支持 ESM 的 NodeJS 扩展宿主与暂不支持 ESM 的 Web Worker 扩展宿主,因此需要更复杂的打包配置(参考其 esbuild 配置)。

Notable fixes

  • #250077:基于 Tree-Sitter 的语法高亮不再依赖模型服务。

延伸阅读:仓库内的配套文档

  • MCP 服务器管理文档:快速上手、mcp.json 配置位置、沙箱、信任机制、自动发现与故障排查。
  • MCP 配置参考:stdio/HTTP/SSE 服务器字段表、输入变量、开发模式、命令与设置大全。
  • MCP 开发者指南:面向构建 MCP 服务器的扩展开发者,含扩展点贡献、Provider 实现与开发模式。
  • 工具集文档 与 自定义 Agent 文档:编排 Agent 工作流的完整参考。
  • 远程开发发布说明:SSH 预连接脚本与 Remote Explorer 改进详情。
  • 上一里程碑见 v1_100 发布说明。
  • 文档
  • 教程

【免费下载链接】vscode-docs

Public documentation for Visual Studio Code

项目地址:https://gitcode.com/gh_mirrors/vs/vscode-docs
点击查看免费下载
上一篇:带渐近约束的神经引导符号回归:Neural-Guided Symbolic Regression 数据、模型与搜索方法实践指南
下一篇:TanStack Table 自定义排序函数实战:SortFn 接口契约与行排序比较器原理剖析

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询