GitHub Copilot 用法总结
我现在更愿意把 Copilot 看成一个完整的 AI 开发工作台,而不只是代码补全插件。它把问答、规划、执行、外部工具接入和团队规范沉淀都串在了一起。
这篇笔记主要整理我平时在 VSCode 里最常用的几种 Copilot 用法,方便后面直接当备忘录看。
1. 快速上手
最基础的使用路径只有 3 步:
- 安装
VSCode - 在扩展市场安装官方插件
GitHub Copilot - 登录 GitHub 账号并开通可用套餐
刚开始用时,我比较建议先把下面几个入口找全:Chat、行内对话、Quick Chat、自动补全、Agent 模式。
2. 日常最常用的几种用法
2.1 Chat 对话
这是最通用的入口,适合做这些事:
- 让 AI 帮我理解需求
- 解释一段代码
- 设计模块结构
- 修 bug
- 生成一小段功能代码
我一般把 Chat 里的工作模式分成 3 类:
| 模式 | 适合什么场景 | 特点 |
|---|---|---|
Agent | 明确要让 AI 动手干活 | 会分析项目、写代码、跑命令 |
Plan | 需求稍复杂,想先看方案 | 先调研和拆步骤,再决定是否执行 |
Ask | 只想问问题或学习 | 只回答,不直接改代码 |
我通常会把它理解成:
- Ask:先问
- Plan:先想
- Agent:先干
2.2 行内对话
适合“只改眼前这几行”的场景。
常用快捷键:
Ctrl + I(Mac 是Cmd + I):在当前代码位置直接和 AI 对话
这种方式特别适合:
- 让 AI 重写一个函数
- 局部优化命名
- 给当前代码补错误处理
- 把一段逻辑改成另一种写法
2.3 Quick Chat
适合快问快答,不想切完整聊天面板的时候用。
Ctrl + Shift + Alt + L(Mac 是Cmd + Shift + Option + L)
适合的问题通常比较轻:
- “这个报错是什么意思?”
- “帮我生成一个正则”
- “这段 SQL 有没有问题?”
2.4 自动补全
这是最容易被低估的能力。
日常写代码时,Copilot 会直接给出灰色补全建议,按 Tab 接受即可。适合:
- 补完整个函数体
- 生成重复样板代码
- 按上下文续写逻辑
2.5 NES:下一步编辑建议
它和普通补全不一样的地方在于:不只补当前位置,而是预测你接下来还要改哪里。
适合这种连锁修改场景:
- 改了类名、接口名、字段名
- 增加了一个属性,需要补齐其他引用位置
- 重构一个数据结构后,相关代码需要一起迁移
3. 推荐工作流:Plan + Agent
我现在最常用的思路,不是“直接让 AI 写”,而是:
- 先用
Plan澄清需求 - 再用
Agent按方案执行 - 中间根据效果继续追问和修正
这个流程特别适合下面几类任务:
- 做一个小网站或原型
- 给现有项目加功能
- 从 0 到 1 创建脚手架
- 修复一个涉及多个文件的 bug
3.1 Plan 适合做什么
Plan 更像“AI 产品经理 + AI 架构助理”,适合让它先输出:
- 文件结构
- 技术方案
- 实现步骤
- 风险点
- 验证方式
我会把这一步理解成:需求研究 → 问题对齐 → 方案设计 → 迭代细化。
这一步的价值很大,因为很多 AI 翻车,不是模型不会写,而是需求没对齐就直接开写。
3.2 Agent 适合做什么
当方案确认后,再把任务交给 Agent。它可以自己分析项目、创建文件、写代码、跑命令、装依赖,遇到报错还会继续修。
适合交给 Agent 的任务:
- 实现已有方案
- 批量修改多个文件
- 安装依赖并接入功能
- 跑测试并根据报错继续修复
3.3 使用 Agent 时要注意什么
- 看清
Todos列表,确认它的执行方向没跑偏 - 终端命令和关键工具调用要留意审批
- 不满意可以继续追加上下文,而不是整段推翻重来
如果项目稍微复杂,我会优先推荐:先 Plan,后 Agent。
4. Tools:让 AI 真正“能动手”
我把工具分成 3 类:
| 类型 | 说明 |
|---|---|
| 内置工具 | 代码搜索、读写文件、问题诊断、终端执行等 |
| MCP 工具 | 通过 MCP 协议接入的外部能力 |
| 扩展工具 | 由 VSCode 插件提供的工具 |
这里最关键的一点是:没有工具,AI 只能出主意;有了工具,AI 才能执行。
这里面有两个我觉得特别实用的用法:
4.1 用 # 手动点名工具
例如:
#codebase:搜索整个代码库#fetch:抓取网页内容#problems:读取当前项目报错
适合在 AI 选错工具时,手动把它拉回正轨。
4.2 Tool Sets:工具集
你可以把一组常用工具打包成一个名字,之后直接 #工具集名 调用。
比如可以做一个只读工具集 reader,包含:
codebaseproblemsusagessearch
这个思路特别适合:
- 代码审查
- 只读调研
- 限制 AI 不要贸然改文件
5. MCP:把 Copilot 接到外部世界
我对 MCP 的理解很直接:给 AI 装一个统一接口,让它接数据库、API、浏览器或其他服务。
我觉得 Copilot 在 MCP 上有两个很明显的优势:
- 支持可视化安装和管理
- 可以像装扩展一样装 MCP 服务
适合接入 MCP 的场景:
- 获取最新官方文档
- 控制浏览器做验证
- 调第三方 API
- 访问数据库或外部系统
还有几个值得顺手记下来的点:
- 可以手动在
.vscode/mcp.json里配置 MCP 服务 - 支持
Resources,把外部资源当上下文喂给 AI - 支持
MCP Apps,在对话中渲染交互式界面 - 支持自动发现其他应用里已配置的 MCP
- 支持通过设置同步跨设备复用配置
- 也可以顺手参考一些 MCP 资源导航,比如:
https://ai.codefather.cn/mcp
如果经常写新技术栈,MCP 最大的价值是:让 AI 少瞎编,尽量基于最新资料做事。
5.1 VSCode 里比较常用的 MCP 服务器
如果是刚开始接触 MCP,我觉得可以优先从下面几类装起:
| MCP 服务器 | 主要作用 | 适合场景 |
|---|---|---|
GitHub | 读写仓库、Issue、PR 等 GitHub 资源 | 查代码、看 PR、辅助协作 |
Playwright | 控制浏览器自动化访问和测试 | 联调页面、端到端测试、回归验证 |
Fetch | 抓取网页内容给 AI 读取 | 查文档、抓说明页、读取网页文本 |
Filesystem | 访问本地文件和目录 | 让 AI 跨目录整理资料、处理文件 |
Git | 读取 Git 状态、提交历史、差异 | 分析改动、辅助 review、生成提交说明 |
PostgreSQL | 查询 PostgreSQL 数据库 | 看表结构、查数据、辅助写 SQL |
Memory | 持久化保存一些项目事实或偏好 | 长任务、多轮对话、跨会话记忆 |
我自己会把这些服务器大致分成 3 组来装:
- 开发验证类:
Playwright、Git、Filesystem - 资料检索类:
Fetch - 外部系统类:
GitHub、PostgreSQL
如果是前端或者全栈项目,我觉得最值得优先装的是:
Playwright:让 AI 真正去打开页面、点击、截图、做验证GitHub:查 PR、Issue、仓库文件会方便很多Fetch:拿网页和文档内容很直接Filesystem:适合做本地资料整理和批量文件处理
5.2 怎么选 MCP 服务器
我一般会按任务来选,而不是一下子装很多:
- 需要看网页、跑页面验证,优先装
Playwright - 需要读 GitHub 仓库、PR、Issue,优先装
GitHub - 需要查在线文档,优先装
Fetch - 需要碰本地文件,优先装
Filesystem - 需要查数据库,优先装
PostgreSQL
另外有一个经验是:MCP 不在于装得多,而在于装得准。
装太多之后,AI 虽然能力变强了,但工具选择和安全控制也会更复杂。
6. Skills:给 AI 一份可复用的“工作手册”
我一般会把 Skills 和 Tools 分开理解:
Tools是能力本身Skills是如何正确使用这些能力的说明书
比如给 AI 一个“Web 应用测试” Skill,它不只是知道能跑测试,而是知道:
- 应该先建什么文件
- 怎么组织 Playwright 测试
- 有哪些最佳实践
- 命令该怎么执行
这里有几个比较关键的点:
- Skill 的核心文件是
SKILL.md - 可以装在当前项目,也可以装在用户目录
- 可以手动调用,也可以让 AI 自动匹配加载
- 它是开放标准,不只 Copilot 能用
- 如果想找现成的 Skills,也可以直接看这个整理入口:
https://ai.codefather.cn/skills
最有价值的一点是:Skills 采用渐进式加载,不会一次把所有说明都塞进上下文。
这很适合沉淀团队经验,比如:
- 如何写测试
- 如何发版
- 如何排查线上故障
- 如何接入某个内部平台
7. 四种 Agent 运行方式
Copilot 支持 4 种运行方式:
| 方式 | 适合场景 |
|---|---|
Local | 需要边看边改、实时交互 |
Background | 需求明确,想让 AI 在后台跑 |
Cloud | 希望远程执行并最终提 PR |
Third-party | 想接入特定第三方 Agent 能力 |
我自己的理解是:
- Local:适合探索和调试
- Background:适合耗时任务异步跑
- Cloud:适合团队协作和规范输出
- Third-party:适合按模型或生态选能力
我觉得还有两个很好用的搭配方式:
- 在不同 Agent 之间
Handoffs移交任务 - 同时开多个
Sessions并行处理不同任务
这两个功能对复杂项目很关键,因为它开始有一点“任务编排”的味道了。
8. Hooks:在关键节点自动执行脚本
Hooks 的本质是:在 Agent 工作流的某些阶段自动跑脚本。
比较典型的用途包括:
- 工具执行后自动格式化代码
- 拦截危险命令
- 记录工具调用日志
- 会话开始时注入上下文
- 会话结束时输出报告
常见生命周期事件包括:
PreToolUsePostToolUseSessionStartStopUserPromptSubmitSubagentStartSubagentStop
如果团队已经有固定工程规范,Hooks 会比“靠人记住”靠谱得多。
9. Custom Instructions:让 AI 长期遵守你的规则
这部分可以理解成 Copilot 版的项目规范文件。
常见的指令文件路径是:
.github/copilot-instructions.md
适合写进去的内容:
- 语言和框架偏好
- 命名规范
- 测试要求
- 错误处理要求
- 注释习惯
我一般把它分成两种类型:
Always-on:所有对话都生效File-based:按文件模式匹配生效
另外还有一个很实用的命令:
/init:让 AI 先分析当前项目,再帮你生成一份初始指令文件
这很适合接手老项目时快速建立“项目上下文”。
10. Custom Agents:给 AI 分角色
如果说 Custom Instructions 是“全局规矩”,那 Custom Agents 就是“给不同岗位安排不同角色”。
比如可以定义:
- 安全审查员
- 测试工程师
- 写作助手
- 架构师
自定义 Agent 可以放在:
.github/agents/*.agent.md
它的作用不只是换一个提示词,而是把这些内容固化下来:
- 这个角色该做什么
- 可以用哪些工具
- 不应该做哪些操作
- 下一步要交给谁
10.1 Handoffs
这是我自己很喜欢的一个点。
它允许你给 Agent 定义“下一步动作”,比如:
- 规划 Agent 出完方案后
- 页面出现“开始实现”按钮
- 一键移交给编码 Agent 继续执行
这比每次手工复制上下文自然很多。
10.2 子智能体协作
也可以让一个主智能体调用只读调研员、编码员等子角色来分工。
适合的任务:
- 先调研代码模式
- 再根据既有风格实现新功能
- 最后交给测试角色补验证
11. Prompt Files:把常用任务做成斜杠命令
这个能力适合“重复出现、但不适合全局自动生效”的任务。
可以把提示词封装成 .prompt.md 文件,放到:
.github/prompts/
之后通过 /命令名 触发。
典型适用场景:
- 生成单元测试
- 生成 React 组件
- 做安全检查
- 按模板写文档
相比自定义指令,Prompt Files 更像“可复用命令库”。
12. Smart Actions:散落在编辑器里的 AI 快捷操作
这部分非常适合日常碎片化使用。
我平时比较关注的动作有:
- 自动生成 Commit Message
- Explain:解释代码
- Generate Tests:生成测试
- Generate Docs:生成文档
- Review:代码审查
- 修复错误建议
- AI 语义搜索
- AI 辅助重命名
这类功能的特点是:不用专门组织提示词,右键或点按钮就能用。
13. 一套适合日常开发的 Copilot 使用顺序
结合日常使用习惯,我把比较顺手的用法整理成下面这套流程:
13.1 轻任务
- 用
Quick Chat查错、问 API、问命令 - 用
行内对话改小段代码 - 用
自动补全 + NES做局部续写和连锁修改
13.2 中等任务
- 先用
Ask讨论方案 - 再用
Plan输出步骤和文件结构 - 最后用
Agent落地实现
13.3 复杂任务
- 通过
Custom Instructions固定项目规范 - 通过
Skills沉淀常见工作手册 - 通过
MCP接入最新文档和外部系统 - 通过
Custom Agents + Handoffs做角色分工 - 通过
Hooks自动化格式化、审计和报告
14. 最常用的功能
如果不想一下子学太多,我建议优先掌握下面 6 个:
Ask / Plan / Agent三种模式切换行内对话自动补全 + NES#工具和#工具集MCPCustom Instructions
15. 小结
我自己现在最大的感受,不是“Copilot 某个点特别强”,而是它已经逐渐形成了一套完整工作流:
- 用
Chat交流 - 用
Plan规划 - 用
Agent执行 - 用
Tools / MCP接外部能力 - 用
Skills沉淀经验 - 用
Instructions / Agents / Prompts固化规则 - 用
Hooks自动化 - 用
Smart Actions提升零碎操作效率
如果以前只是把 Copilot 当成“代码补全工具”,那我觉得最值得带走的一点就是:它已经是一个可以持续扩展的 AI 开发环境,而不是单一插件。
参考
https://www.runoob.com/vscode/vscode-github-copilot.htmlhttps://code.visualstudio.com/docs/copilot/chat/mcp-servershttps://mp.weixin.qq.com/s/2tFnsinqchJrs0jS6sji7whttps://github.com/github/github-mcp-serverhttps://github.com/microsoft/playwright-mcphttps://github.com/modelcontextprotocol/servers
部分信息可能已经过时









