【Copilot Chat 】之内置命令和插件使用

Copilot Chat

内置命令

GitHub Copilot Chat 的内置命令主要分为三大类:@ (聊天参与者) ,用于召唤领域专家;# (聊天变量) ,用于精确定位上下文;以及 / (斜杠命令),用于快速执行特定开发任务。

聊天参与者 (@) - 召唤领域专家

用于在对话开头切换至特定领域的AI"专家",以获得更专业的回答。

命令 作用
@workspace 专注于你当前整个工作区(项目) 的代码,用于跨文件查找、架构分析等。
@vscode VS 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(必选,清单)
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 命令)
markdown 复制代码
## /hello
**描述**:回复 Hello + 自定义问候
**参数**:name(可选,字符串)
**示例**:
/hello
/hello name=Alice

执行逻辑:
如果有 name,返回 "Hello, {{name}}!";否则返回 "Hello from My Plugin!"
3. subagents/myagent.agent.md(自定义 @myagent 参与者)
markdown 复制代码
## @myagent
**角色**:自定义助手
**能力**:回答问候、简单计算
**触发**:用户提到 "hi" 或 "calculate"
4. skills/deploy/SKILL.md(deploy 技能)
markdown 复制代码
## 技能:deploy
**目标**:部署当前项目到测试环境
**步骤**:
1. 运行 npm run build
2. 上传到服务器
3. 通知团队
5. hooks.json(钩子:会话开始时打招呼)
json 复制代码
{
  "onSessionStart": {
    "action": "sendMessage",
    "message": "欢迎使用我的自定义插件!"
  }
}
6. mcp.json(MCP 服务器:接入外部 API)
json 复制代码
{
  "servers": {
    "my-mcp-server": {
      "command": "node",
      "args": ["./mcp-server.js"],
      "env": {}
    }
  }
}

安装与使用

  1. 本地开发:

    bash 复制代码
    cd my-copilot-plugin
    copilot plugins install .
  2. 使用:在 Copilot Chat 输入 /hello@myagent hi


插件如何配置 LSP 支持(获得实时代码智能)

Copilot Chat 插件本身不直接实现 LSP,但可以通过 MCP(Model 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)
json 复制代码
{
  "servers": {
    "my-lsp": {
      "command": "node",
      "args": ["./lsp/my-lsp-server.js"],
      "env": {
        "WORKSPACE_ROOT": "${workspaceFolder}"
      }
    }
  }
}

Agent 会自动调用 my-lsp 服务获取:

  • 诊断(错误/警告)
  • 符号定义/引用
  • 代码补全、悬停信息
3. lsp/my-lsp-server.js(LSP 代理示例)

vscode-languageserver 或直接调用 VS Code 内置 LSP:

js 复制代码
const { createConnection } = require('vscode-languageserver');
const conn = createConnection();

conn.onInitialize(() => ({ capabilities: { textDocumentSync: 1 } }));
conn.onDocumentSymbol((params) => {
  // 返回符号信息给 Agent
});

conn.listen();
4. 在 plugin.json 声明依赖
json 复制代码
{
  "name": "my-lsp-plugin",
  "mcpServers": ["my-lsp"],
  "engines": { "vscode": "^1.102.0" }
}
5. 启用 LSP 实时能力(settings.json)
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 行为
json 复制代码
{
  "chat.agent.enabled": true,
  "chat.agent.maxRequests": 25,
  "chat.agent.autoFix": true
}
2. LSP / MCP 相关
json 复制代码
{
  "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. 聊天界面与交互
json 复制代码
{
  "github.copilot.chat.welcomeMessage": "always",
  "github.copilot.chat.localeOverride": "zh-CN",
  "github.copilot.chat.scopeSelection": true
}
4. 编辑与代码生成
json 复制代码
{
  "github.copilot.editor.enableCodeActions": true,
  "github.copilot.editor.enableAutoCompletions": true,
  "chat.editing.alwaysSaveWithGeneratedChanges": false
}
5. 数据持久化(重点)
json 复制代码
{
  "myPlugin.dataDir": "${workspaceFolder}/.my-plugin-data",
  "myPlugin.cacheDir": "~/.cache/my-copilot-plugin",
  "myPlugin.historyRetentionDays": 90
}
6. 自定义命令/子智能体
json 复制代码
{
  "myPlugin.commands.greet.enabled": true,
  "myPlugin.subagents.myagent.timeout": 30
}

插件如何配置数据持久化目录

插件可以通过 settings.json + 环境变量 + 占位符 灵活指定存储路径。

1. 支持的占位符(直接用)
  • ${workspaceFolder}:当前工作区根目录
  • ${userHome}:用户主目录
  • ${extensionPath}:插件自身目录
  • ${tmpdir}:系统临时目录
2. 示例:settings.json 配置持久化目录
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/TS)
js 复制代码
const vscode = require('vscode');
const config = vscode.workspace.getConfiguration('myPlugin');
const baseDir = config.get('storage.baseDir');
// 直接读写该目录即可
4. 全局统一目录(跨工作区)
json 复制代码
{
  "myPlugin.storage.globalDir": "${userHome}/.copilot-plugins/my-plugin"
}
5. 官方默认持久化位置(你可以覆盖)

Copilot 核心数据默认在:

  • Windows: %APPDATA%\Code\User\workspaceStorage\{hash}\chatSessions
  • macOS: ~/Library/Application Support/Code/User/workspaceStorage/{hash}/chatSessions
  • Linux: ~/.config/Code/User/workspaceStorage/{hash}/chatSessions

插件可以完全自定义,不受此限制。


总结(最简记忆版)

  • LSP 接入:插件 → mcp.json → LSP 代理服务 → Agent 自动调用。
  • settings.json:可配 Agent、LSP、界面、编辑、持久化、自定义命令。
  • 持久化目录 :用 ${workspaceFolder} / ${userHome} 占位符,在 settings.json 定义,代码直接读取。

MCP

MCP:智能体会通过 MCP 协议向 MCP Server 发起工具调用,由MCP Server 调用外部工具或数据源并把结果带回当前会话。

Copilot Chat 里的 MCP Server 是什么?

MCP(Model Context Protocol) 是 Copilot Chat 等 AI Agent 通用的工具协议,用来把外部服务/工具暴露给 Agent。

  • 你配置的 MCP Server,本质是一个可执行程序(Node/Python/Go 等)
  • Copilot Chat 会通过标准 JSON-RPC 协议,向它发送工具调用请求
  • 你的 Server 处理请求并返回结果,Agent 再用结果继续完成任务

两种配置方式对比

Copilot Chat 支持两种方式配置 MCP Server,我推荐插件方式(可复用、可分发):

方式 配置位置 适用场景
全局配置 VS Code settings.json 单台机器所有项目生效
插件方式(推荐) 插件目录 mcp.json 可分发、可按项目管理、版本可控

方式一:通过插件配置 MCP Server(推荐)

1. 插件目录结构
复制代码
my-mcp-plugin/
├── plugin.json         # 插件主清单
├── mcp.json            # 声明你的 MCP Server
├── src/
│   └── mcp-server.js   # 你的 MCP Server 代码
└── README.md
2. 编写 mcp.json(关键配置)

这是 Copilot Chat 识别 MCP Server 的核心文件:

json 复制代码
{
  "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 声明依赖
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.js)

src/mcp-server.js

javascript 复制代码
const { Server } = require("@modelcontextprotocol/sdk/server/index.js");
const { StdioServerTransport } = require("@modelcontextprotocol/sdk/server/stdio.js");

// 1. 创建 Server 实例
const server = new Server(
  { name: "my-custom-server", version: "1.0.0" },
  { capabilities: { tools: {} } }
);

// 2. 注册一个工具,供 Copilot Chat 调用
server.tool(
  "get-system-info",
  "获取当前系统信息(OS、CPU 架构等)",
  {},
  async () => {
    const os = require("os");
    return {
      content: [{
        type: "text",
        text: `OS: ${os.platform()}, Arch: ${os.arch()}, Hostname: ${os.hostname()}`
      }]
    };
  }
);

// 3. 启动服务,通过 stdio 和 Copilot Chat 通信
const transport = new StdioServerTransport();
server.connect(transport);
console.error("MCP Server started"); // 日志输出到 stderr,避免干扰 stdio
5. 安装插件到 Copilot Chat
bash 复制代码
# 在插件根目录执行
copilot plugins install .

Copilot Chat 会自动读取 mcp.json 并启动你的 Server。


方式二:直接在 VS Code settings.json 配置(全局生效)

如果你不想做插件,只想在当前机器/项目用,可以直接配置 VS Code 设置:

  1. 打开 VS Code 设置(Ctrl+,
  2. 搜索 github.copilot.chat.mcp.servers
  3. 点击「编辑 in settings.json」,添加:
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 工具,返回结果。


常见问题排查

  1. Server 没启动
    • 检查 commandargs 路径是否正确,使用绝对路径测试
    • 确保脚本有可执行权限(Linux/macOS 下 chmod +x
  2. Agent 找不到工具
    • 检查 plugin.json 里的 mcpServers 声明是否正确
    • 检查 mcp.json 里的 Server 名称和 tool 名称是否拼写正确
  3. 工具调用报错
    • 查看 VS Code 输出面板 → 选择「GitHub Copilot Chat」,查看日志
    • 确保 Server 日志输出到 stderr(Node.js 用 console.error),避免干扰 stdio 通信

核心步骤

  1. 写一个实现了 MCP 协议的 Server(用官方 SDK)
  2. mcp.json 中声明如何启动它
  3. plugin.json 把它包装成 Copilot 插件
  4. 执行 copilot plugins install 安装
  5. 在对话中让 Agent 调用你的工具
相关推荐
小雨青年1 天前
GitHub Copilot CLI 完全指南:把终端里的 AI 助手真正用起来
人工智能·github·copilot
CV-deeplearning1 天前
太方便了!一个 App 统管 15+ AI 编程工具的 Skills,再也不用来回折腾了
copilot·cursor·claudecode·ai编程工具·skillsmanager
Panzer_Jack2 天前
Copiwaifu:一个和 Claude Code、Codex、Copilot 等 AI 编程工具联动的 Live2D 桌宠[特殊字符]
前端·人工智能·copilot·web·live2d·pixi.js·easy-live2d
Resistance丶未来2 天前
Agency-Agents 多智能体协作系统落地指南
python·大模型·nlp·github·copilot·claude·gemini
小雨青年2 天前
GitHub Copilot Commit Message 生成与自定义配置优化指南
人工智能·github·copilot
_Evan_Yao3 天前
一文搞懂:AI编程辅助工具——从GitHub Copilot到通义灵码,不同人群如何驾驭AI编程助手?
人工智能·后端·copilot·ai编程
薛定猫AI3 天前
【深度解析】AI Coding Agent 的计费逻辑、Token 成本与 Copilot Pro Plus 使用策略
人工智能·copilot
kyriewen114 天前
奥特曼借GPT-5.5干杯,而你的Copilot正按Token收钱
前端·gpt·ai·copilot
AI周红伟4 天前
三年狂赚1.75亿!卖课,才是中国AI最容易赚钱的生意
人工智能·深度学习·学习·机器学习·copilot·openclaw