
Copilot Chat内置命令GitHub Copilot Chat 的内置命令主要分为三大类(聊天参与者)用于召唤领域专家#(聊天变量)用于精确定位上下文以及/(斜杠命令)用于快速执行特定开发任务。聊天参与者 () - 召唤领域专家用于在对话开头切换至特定领域的AI“专家”以获得更专业的回答。命令作用workspace专注于你当前整个工作区项目的代码用于跨文件查找、架构分析等。vscodeVS Code专家帮助你解答关于VS Code编辑器本身的功能、设置、快捷键和插件开发等一切问题。terminal终端专家能读取你VS Code中集成终端的内容并帮你解释错误、生成命令行指令。github连接你的GitHub 仓库用于协助处理Issues、Pull Requests等任务。azure专注于微软Azure云服务相关的问题提供使用、部署和管理方面的帮助。聊天变量 (#) - 精确定位上下文用于在提问时精确地告诉Copilot需要关注的代码片段、文件或其他上下文信息。命令作用#codebase/#workspace在你的整个代码库中进行语义搜索找到相关的文件和符号。#file引用一个特定的文件作为上下文可以是当前打开的文件或指定路径。#selection引用你在编辑器里选中的一段代码。#block引用你光标所在的代码块。#class引用光标所在的类定义。#editor引用当前编辑器的全部内容。#changes引用你当前工作区中Git 的变更。#problems引用Problems 面板中的错误和警告。#testFailure引用测试失败的相关信息。#terminal终端日志、报错内容#terminalSelection引用你在终端中选中的输出内容。#terminalLastCommand引用终端中最后执行的命令和输出。斜杠命令 (/) - 快速执行任务用于直接执行特定任务例如解释代码、修复Bug或生成测试。命令作用/explain一步步解释你选中的代码或当前文件是如何工作的。/fix为选中的代码提出修复建议。/tests为选中的代码或函数生成单元测试。/doc为选中的代码生成或添加文档注释。/optimize分析选中的代码并提供性能优化建议。/generate根据你的描述生成一段新的代码来实现特定功能。/new在项目里创建一个新文件或搭建一个新项目的脚手架需结合workspace。/newNotebook在当前工作区创建一个新的Jupyter Notebook。/edit用自然语言描述你想要进行的代码编辑。/review对选中的代码进行审查。/search用自然语言描述要搜索的内容Copilot会帮你生成在VS Code中的搜索关键词。/fixTestFailure自动定位并修复失败的测试用例。/setupTests为你的整个项目自动配置和搭建测试环境。生成测试框架配置与初始化代码/startDebugging协助生成launch.json等调试配置帮助启动调试。/clear清空当前的聊天记录开启一个全新的对话会话。/help显示Copilot Chat的基本使用说明和帮助信息。/list列出Copilot当前可用的所有工具列表。/simplify简化代码、提升可读性/refactor重构结构重命名抽方法调依赖/init生成 .github/copilot-instructions.md/saveprompt保存当前提实词模板/fleet并性子任务执行/cwd显示或切换当前工作目录/exit、/quit直接结束当前会话并断开 Copilot 连接确保资源被正确释放/session、/usage查看 Copilot 在本次会话中执行的操作方便审计、排查问题和资源追踪/add-dir允许 Copilot 访问指定目录,将 Copilot 限定在某个仓库或子目录/list-dirs显示允许访问的目录列表/model选择 AI 模型/theme [show/set/list] [auto/dark/light]配置终端主题/terminal-setup启用多行输入,在处理复杂指令或多步骤代码修改时尤为有用/reset-allowed-tools重置工具权限,此命令可将已允许的工具列表快速回滚到初始状态移除过期或存在风险的工具。/share [file/gist] [path]导出并分享会话内容,文档记录非常重要此命令可捕获整个会话历史用于分享或归档/mcp [show add edit delete disable enable]管理 MCP 配置插件Copilot Chat 插件是什么GitHub Copilot Chat 插件是扩展 Copilot 智能体Agent能力的功能包用来新增自定义斜杠命令、参与者、技能Skill、钩子Hook与 MCP 服务可通过一条命令安装本质是把 commands、subagents、MCP servers、hooks 组合成可分发的集合。宿主VS Code 里的GitHub.copilot-chat扩展核心用途给 Agent 加自定义/xxx命令、xxx参与者、技能、钩子、外部工具集成安装方式copilot plugins install 插件名/路径插件完整目录结构2026‑05 官方规范my-copilot-plugin/ ├── plugin.json # 必选插件清单名称、版本、命令、依赖等 ├── commands/ # 可选自定义斜杠命令/xxx │ ├── mycmd.command.md # 命令定义触发词、描述、参数、执行逻辑 │ └── utils.js # 命令调用的工具函数可选 ├── subagents/ # 可选自定义参与者xxx子智能体 │ └── myagent.agent.md # 子智能体定义角色、能力、触发条件 ├── skills/ # 可选技能集合Agent 可执行的能力单元 │ └── deploy/ # 技能名如 deploy、test、lint │ ├── SKILL.md # 技能定义目标、步骤、适用场景 │ └── run.sh # 技能执行脚本bash/js/python 均可 ├── hooks.json # 可选钩子配置生命周期拦截如会话前/命令后 ├── mcp.json # 可选MCP 服务器配置接入外部工具/服务 └── README.md # 可选插件说明文档关键文件说明最小可用示例1. plugin.json必选清单{name:my-copilot-plugin,displayName:My Custom Commands,version:1.0.0,description:Adds /hello and myagent to Copilot Chat,author:Your Name,license:MIT,commands:[/hello],subagents:[myagent],skills:[deploy],hooks:[onSessionStart],mcpServers:[my-mcp-server]}2. commands/hello.command.md自定义/hello命令## /hello **描述**回复 Hello 自定义问候 **参数**name可选字符串 **示例** /hello /hello nameAlice 执行逻辑 如果有 name返回 Hello, {{name}}!否则返回 Hello from My Plugin!3. subagents/myagent.agent.md自定义myagent参与者## myagent **角色**自定义助手 **能力**回答问候、简单计算 **触发**用户提到 hi 或 calculate4. skills/deploy/SKILL.mddeploy 技能## 技能deploy **目标**部署当前项目到测试环境 **步骤** 1. 运行 npm run build 2. 上传到服务器 3. 通知团队5. hooks.json钩子会话开始时打招呼{onSessionStart:{action:sendMessage,message:欢迎使用我的自定义插件}}6. mcp.jsonMCP 服务器接入外部 API{servers:{my-mcp-server:{command:node,args:[./mcp-server.js],env:{}}}}安装与使用本地开发cdmy-copilot-plugin copilot pluginsinstall.使用在 Copilot Chat 输入/hello或myagent hi插件如何配置 LSP 支持获得实时代码智能Copilot Chat 插件本身不直接实现 LSP但可以通过MCPModel Context Protocol服务或VS Code LSP 代理把 LSP 能力注入给 Agent。1. 插件目录增加 LSP 相关结构my-lsp-plugin/ ├── plugin.json ├── settings.json # 插件配置含 LSP ├── mcp.json # 把 LSP 包装成 MCP 服务 ├── lsp/ │ └── my-lsp-server.js # 你的 LSP 客户端/代理 └── commands/2. mcp.json把 LSP 暴露给 Copilot Agent{servers:{my-lsp:{command:node,args:[./lsp/my-lsp-server.js],env:{WORKSPACE_ROOT:${workspaceFolder}}}}}Agent 会自动调用my-lsp服务获取诊断错误/警告符号定义/引用代码补全、悬停信息3. lsp/my-lsp-server.jsLSP 代理示例用vscode-languageserver或直接调用 VS Code 内置 LSPconst{createConnection}require(vscode-languageserver);constconncreateConnection();conn.onInitialize(()({capabilities:{textDocumentSync:1}}));conn.onDocumentSymbol((params){// 返回符号信息给 Agent});conn.listen();4. 在 plugin.json 声明依赖{name:my-lsp-plugin,mcpServers:[my-lsp],engines:{vscode:^1.102.0}}5. 启用 LSP 实时能力settings.json{github.copilot.chat.mcp.enabled:true,github.copilot.chat.lsp.diagnostics:true,github.copilot.chat.lsp.symbols:true}插件的 settings.json 可以配置哪些内容完整清单Copilot Chat 插件的settings.json是插件独立配置不与 VS Code 全局设置混淆可配置1. Agent 行为{chat.agent.enabled:true,chat.agent.maxRequests:25,chat.agent.autoFix:true}2. LSP / MCP 相关{github.copilot.chat.mcp.enabled:true,github.copilot.chat.lsp.diagnostics:true,github.copilot.chat.lsp.symbols:true,github.copilot.chat.lsp.completion:true}3. 聊天界面与交互{github.copilot.chat.welcomeMessage:always,github.copilot.chat.localeOverride:zh-CN,github.copilot.chat.scopeSelection:true}4. 编辑与代码生成{github.copilot.editor.enableCodeActions:true,github.copilot.editor.enableAutoCompletions:true,chat.editing.alwaysSaveWithGeneratedChanges:false}5. 数据持久化重点{myPlugin.dataDir:${workspaceFolder}/.my-plugin-data,myPlugin.cacheDir:~/.cache/my-copilot-plugin,myPlugin.historyRetentionDays:90}6. 自定义命令/子智能体{myPlugin.commands.greet.enabled:true,myPlugin.subagents.myagent.timeout:30}插件如何配置数据持久化目录插件可以通过settings.json 环境变量 占位符灵活指定存储路径。1. 支持的占位符直接用${workspaceFolder}当前工作区根目录${userHome}用户主目录${extensionPath}插件自身目录${tmpdir}系统临时目录2. 示例settings.json 配置持久化目录{// 工作区内存储推荐myPlugin.storage.baseDir:${workspaceFolder}/.copilot-my-plugin,myPlugin.storage.sessions:${workspaceFolder}/.copilot-my-plugin/sessions,myPlugin.storage.cache:${userHome}/.cache/copilot-my-plugin}3. 代码中读取插件 JS/TSconstvscoderequire(vscode);constconfigvscode.workspace.getConfiguration(myPlugin);constbaseDirconfig.get(storage.baseDir);// 直接读写该目录即可4. 全局统一目录跨工作区{myPlugin.storage.globalDir:${userHome}/.copilot-plugins/my-plugin}5. 官方默认持久化位置你可以覆盖Copilot 核心数据默认在Windows:%APPDATA%\Code\User\workspaceStorage\{hash}\chatSessionsmacOS:~/Library/Application Support/Code/User/workspaceStorage/{hash}/chatSessionsLinux:~/.config/Code/User/workspaceStorage/{hash}/chatSessions插件可以完全自定义不受此限制。总结最简记忆版LSP 接入插件 → mcp.json → LSP 代理服务 → Agent 自动调用。settings.json可配 Agent、LSP、界面、编辑、持久化、自定义命令。持久化目录用${workspaceFolder}/${userHome}占位符在 settings.json 定义代码直接读取。MCPMCP智能体会通过 MCP 协议向 MCP Server 发起工具调用由MCP Server 调用外部工具或数据源并把结果带回当前会话。Copilot Chat 里的 MCP Server 是什么MCPModel Context Protocol是 Copilot Chat 等 AI Agent 通用的工具协议用来把外部服务/工具暴露给 Agent。你配置的 MCP Server本质是一个可执行程序Node/Python/Go 等Copilot Chat 会通过标准 JSON-RPC 协议向它发送工具调用请求你的 Server 处理请求并返回结果Agent 再用结果继续完成任务两种配置方式对比Copilot Chat 支持两种方式配置 MCP Server我推荐插件方式可复用、可分发方式配置位置适用场景全局配置VS Codesettings.json单台机器所有项目生效插件方式推荐插件目录mcp.json可分发、可按项目管理、版本可控方式一通过插件配置 MCP Server推荐1. 插件目录结构my-mcp-plugin/ ├── plugin.json # 插件主清单 ├── mcp.json # 声明你的 MCP Server ├── src/ │ └── mcp-server.js # 你的 MCP Server 代码 └── README.md2. 编写mcp.json关键配置这是 Copilot Chat 识别 MCP Server 的核心文件{servers:{my-custom-server:{command:node,args:[./src/mcp-server.js],env:{API_KEY:your-secret-key-here,WORKSPACE_ROOT:${workspaceFolder}}}}}command启动 Server 的命令node/python/可执行文件等args传给命令的参数你的脚本路径env环境变量可使用${workspaceFolder}等占位符3. 编写plugin.json声明依赖{name:my-mcp-plugin,displayName:My Custom MCP Tools,version:1.0.0,description:Adds custom tools via MCP to Copilot Chat,mcpServers:[my-custom-server]}这里的my-custom-server要和mcp.json里的 key 对应。4. 写一个极简的 MCP Server 示例Node.jssrc/mcp-server.jsconst{Server}require(modelcontextprotocol/sdk/server/index.js);const{StdioServerTransport}require(modelcontextprotocol/sdk/server/stdio.js);// 1. 创建 Server 实例constservernewServer({name:my-custom-server,version:1.0.0},{capabilities:{tools:{}}});// 2. 注册一个工具供 Copilot Chat 调用server.tool(get-system-info,获取当前系统信息OS、CPU 架构等,{},async(){constosrequire(os);return{content:[{type:text,text:OS:${os.platform()}, Arch:${os.arch()}, Hostname:${os.hostname()}}]};});// 3. 启动服务通过 stdio 和 Copilot Chat 通信consttransportnewStdioServerTransport();server.connect(transport);console.error(MCP Server started);// 日志输出到 stderr避免干扰 stdio5. 安装插件到 Copilot Chat# 在插件根目录执行copilot pluginsinstall.Copilot Chat 会自动读取mcp.json并启动你的 Server。方式二直接在 VS Code settings.json 配置全局生效如果你不想做插件只想在当前机器/项目用可以直接配置 VS Code 设置打开 VS Code 设置Ctrl,搜索github.copilot.chat.mcp.servers点击「编辑 in settings.json」添加{github.copilot.chat.mcp.servers:{my-global-server:{command:node,args:[/absolute/path/to/your/mcp-server.js],env:{}}}}保存后Copilot Chat 会自动加载并启动该 Server。验证 MCP Server 是否生效在 Copilot Chat 中直接问使用 get-system-info 工具告诉我当前系统信息 或 /get-system-info 告诉我当前系统信息Agent 会自动调用你的get-system-info工具返回结果。常见问题排查Server 没启动检查command和args路径是否正确使用绝对路径测试确保脚本有可执行权限Linux/macOS 下chmod xAgent 找不到工具检查plugin.json里的mcpServers声明是否正确检查mcp.json里的 Server 名称和tool名称是否拼写正确工具调用报错查看 VS Code 输出面板 → 选择「GitHub Copilot Chat」查看日志确保 Server 日志输出到stderrNode.js 用console.error避免干扰 stdio 通信核心步骤写一个实现了 MCP 协议的 Server用官方 SDK在mcp.json中声明如何启动它用plugin.json把它包装成 Copilot 插件执行copilot plugins install安装在对话中让 Agent 调用你的工具