在 Visual Studio Code 中自定义 AI
Visual Studio Code 提供了多种方式让 AI 了解你的代码库、编码标准和工作流程。本文介绍了这些自定义选项,并帮助你快速入门。
要访问自定义设置,请在聊天视图中选择“配置聊天”(齿轮图标),打开聊天自定义编辑器。

自定义场景
以下章节介绍了常见的自定义场景以及对应的选项。
定义编码标准
使用自定义指令与 AI 分享项目范围内的规则和约定。始终生效的指令适用于所有请求,而基于文件的指令则针对特定文件类型或文件夹。例如,在所有文件中强制执行 ESLint 规则,并仅在 .tsx 文件中应用 React 模式。
自动化任务和工作流程
针对频繁执行的可重复任务创建提示词文件,例如搭建组件框架或准备合并请求。
对于涉及脚本和外部工具的更复杂的、多步骤工作流程,请将其封装为代理技能。
AI 专项定制
创建具有特定角色的自定义代理,例如安全审核员、数据库管理员或规划师。每个代理都定义了自己的行为、可用工具和语言模型偏好。为不同任务选择不同的语言模型,或使用你自己的 API 密钥来访问更多模型。
发现并安装插件
安装代理插件(预览版),以从插件市场添加预打包的自定义组件集合。单个插件可以提供斜杠命令、技能、自定义代理、钩子(hooks)和 MCP 服务器。
连接外部工具和数据
添加 MCP 服务器,通过 模型上下文协议 (Model Context Protocol) 让 AI 访问数据库、API 和其他服务。使用钩子 (hooks) 在关键生命周期节点运行 Shell 命令,例如在每次文件编辑后运行格式化程序或强制执行安全策略。
开始使用
建议逐步实施 AI 自定义。从基础开始,根据需要逐步添加更多内容。如需实践演练,请参阅为你的项目自定义 AI 指南。
-
初始化你的项目:在聊天中输入
/init,生成一个.github/copilot-instructions.md文件,其中包含针对你的代码库量身定制的编码标准。 -
添加目标规则:为代码库的特定部分创建基于文件的
*.instructions.md文件,例如语言约定或框架模式。 -
自动化重复性任务:为常见工作流程创建提示词文件,并添加 MCP 服务器以连接外部服务。
-
创建专项工作流程:为特定角色构建自定义代理。将可复用的能力封装为代理技能,以便在不同工具间共享。
-
用 AI 生成自定义配置:在聊天中输入
/create-prompt、/create-instruction、/create-skill、/create-agent或/create-hook,在 AI 辅助下生成自定义文件。
父级仓库发现
在 Monorepo(单体仓库)架构中,你可能在 VS Code 中打开的是仓库的某个子文件夹,而非仓库根目录。默认情况下,Visual Studio Code 仅会发现当前打开的工作区文件夹内的自定义文件。启用 chat.useCustomizationsInParentRepositories 设置,以便同时发现来自父级仓库的自定义配置。
启用此设置后,VS Code 会从每个工作区文件夹向上遍历文件夹层级,直到找到一个 .git 文件夹。如果找到,它会收集从工作区文件夹到仓库根目录(包含)之间所有文件夹中的自定义配置。这适用于所有自定义类型:始终生效的指令 (copilot-instructions.md, AGENTS.md, CLAUDE.md)、基于文件的指令、提示词文件、自定义代理、代理技能和钩子。
例如,考虑以下 Monorepo 结构
my-monorepo/ # repo root (has .git folder)
├── .github/
│ ├── copilot-instructions.md
│ ├── instructions/
│ │ └── style.instructions.md
│ ├── prompts/
│ │ └── review.prompt.md
│ └── agents/
│ └── reviewer.agent.md
├── packages/
│ └── frontend/ # opened as workspace folder
│ └── src/
如果你在 VS Code 中仅打开 packages/frontend/ 并启用了该设置,VS Code 将发现仓库根目录下的自定义文件,例如 copilot-instructions.md、style.instructions.md、review.prompt.md 和 reviewer.agent.md。
父级仓库发现的条件
- 工作区文件夹不包含
.git文件夹(即它本身不是仓库根目录)。 - 某个父文件夹包含
.git文件夹。 - 父仓库文件夹是受信任的。当工作区打开时,VS Code 会提示你信任父文件夹。
chat.useCustomizationsInParentRepositories 设置默认处于禁用状态。
聊天自定义编辑器
聊天自定义编辑器目前处于预览阶段。
聊天自定义编辑器提供了一个集中的 UI,用于在同一个地方创建和管理所有的聊天自定义配置。该编辑器将不同的自定义类型组织在独立的选项卡中,并提供了一个嵌入式代码编辑器,用于编辑带有语法高亮和验证功能的自定义文件。
你可以通过编辑相应的 Markdown 文件从头开始创建新的自定义配置,或者使用 AI 根据你的特定项目生成初始内容。
要添加 MCP 服务器和代理插件,你可以直接在编辑器中浏览相应的市场,安装新项目并管理现有项目。

要打开聊天自定义编辑器,请在聊天视图中选择“配置聊天”(齿轮图标),或者通过命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P))运行 Chat: Open Chat Customizations。
你可以针对不同的代理类型配置自定义:本地代理、Copilot CLI 和 Claude 代理。从编辑器顶部的下拉菜单中选择代理类型,以查看和管理该代理类型的自定义配置。
排查自定义问题
如果你的自定义配置未生效或导致意外行为,请在聊天视图中选择省略号(...)菜单,然后选择 Show Agent Debug Logs 以排查代理问题。