- 文档
- 教程
【免费下载链接】vscode-docs
Public documentation for Visual Studio Code
导读:本文基于 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)的支持,资源在多个入口可用:
- MCP 工具调用返回的资源可供模型使用,并可在聊天中保存——通过Save按钮,或直接拖拽到资源管理器(Explorer)视图。
- 作为上下文附加:在聊天输入框选择Add Context...→MCP Resources...。
- 浏览与查看:使用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 行为并指定该模式下可用的工具——尤其适合专用工作流,例如创建一个只读访问代码库的"规划新功能"模式。
定义与使用步骤:
- 在命令面板运行Chat: Configure Chat Modes命令定义自定义模式。
- 在生成的
*.chatprompt.md文件中提供指令与可用工具。 - 在 Chat 视图的模式下拉列表中选择该模式。
- 提交聊天提示词。
以下是一个自定义 "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:truepython.terminal.shellIntegration.enabled:trueterminal.integrated.suggest.enabled:truepython.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 会采集遥测并在扩展开发模式下记录错误。
该设置未来可能默认开启,建议扩展作者按以下步骤迁移:
- 检查扩展宿主日志中是否存在源自你扩展的
PendingMigrationError; - 将
typeof navigator === 'object'这类检查迁移为typeof process === 'object' && process.versions.node; - 启用
extensions.supportNodeGlobalNavigator; - 验证扩展行为保持不变。
对扩展的贡献: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
相关推荐
Visual Studio Code 1.105(2025年9月)版本全解析:AI Agent 工作流、Chat 与 MCP 生态全面升级
Visual Studio Code 1.105(2025年9月)版本全解析:AI Agent 工作流、Chat 与 MCP 生态全面升级 本指南基于开源仓库
文档教程用 pixi 与 constructor 构建跨平台离线安装器:constructor-minimal 示例全解析
用 pixi 与 constructor 构建跨平台离线安装器:constructor minimal 示例全解析 本文围绕仓库 examples/constr
文档教程Visual Studio Code 1.108(2025 年 12 月)版本更新详解:Agent Skills、终端 IntelliSense 重构与全新终端渲染能力
Visual Studio Code 1.108(2025 年 12 月)版本更新详解:Agent Skills、终端 IntelliSense 重构与全新终端
文档教程
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考