Appearance
GitHub Copilot 使用指南
最后更新:2026-08-11
GitHub Copilot 是 AI 编程工具的起点——2022 年面世时重新定义了"代码补全",至今仍是覆盖面最广的 AI 编程工具。它的核心定位是 L1 代码补全 + L2 对话式编码,主打"最低延迟、最高频使用"。
一、Copilot 的功能矩阵

| 功能 | 体验 | 适用场景 |
|---|---|---|
| Tab 补全 | 输入代码,按 Tab 接受建议,延迟 <300ms | 写新函数、补全语句、生成样板代码 |
| Chat 对话 | 侧边栏或内联 (Ctrl+I) 对话 | 解释代码、写新函数、回答技术问题 |
| Agent 模式 | 多文件编辑 + 终端命令 + 自动测试 | 跨文件重构、功能开发 |
| CLI | gh copilot suggest "error log" | 终端环境快速查询 |
二、Tab 补全:Copilot 的护城河
2.1 工作原理

2.2 上下文窗口
Copilot 每次补全会发送以下内容给模型:
| 上下文类型 | 简要描述 |
|---|---|
| 当前打开的文件(前后若干行) | 最直接的上下文 |
| 相邻打开的 Tab 文件 | 跨文件关联 |
| 最近编辑的文件 | 编辑历史模式 |
.github/copilot-instructions.md | 项目专属指令 |
Copilot 不会传你的整个项目,只传和当前编辑窗口相关的内容。这和 Claude Code / Cursor Agent 的"读整个项目"有根本区别。
2.3 让 Copilot Tab 更好的技巧
| 技巧 | 说明 | 例子 |
|---|---|---|
| 打开相关文件 | Copilot 会参考相邻 Tab 的代码 | 写 controller 时同时打开 model 和 route |
| 先写注释再写代码 | 注释是最好的 prompt | // 从数据库获取用户列表,按创建时间倒序,分页返回 |
| 先写函数签名 | 明确的输入输出导向 | function findUsers(filters: UserFilter, page: number): Promise<Paginated<User>> |
| 编写 copilot-instructions.md | 项目级的持久化指令 | 定义技术栈、编码风格、通用约定 |
| 写一个示例函数 | 教 Copilot 你的风格 | 写一个完整的 createUser,再写 createProduct 时 Copilot 会模仿 |
2.4 补全快捷键
| 快捷键 | 功能 |
|---|---|
Tab | 接受当前建议 |
Esc | 拒绝当前建议 |
Alt + ] | 下一条建议 |
Alt + [ | 上一条建议 |
Ctrl + Enter | 在新标签页打开建议列表 |
三、Chat 对话:从补全到问答
3.1 两种 Chat 方式
| 方式 | 入口 | 特点 |
|---|---|---|
| 侧边栏 Chat | Ctrl+Shift+I 或侧边按钮 | 多轮对话,保留历史 |
| 内联 Chat | Ctrl+I 选中代码 | 直接在编辑器中提问,适合小范围改动 |
3.2 Chat 的斜杠命令
| 命令 | 功能 |
|---|---|
/explain | 解释选中的代码 |
/fix | 修复选中的代码问题 |
/tests | 为选中函数生成测试 |
/doc | 生成文档注释 |
/simplify | 简化代码 |
/clear | 清空对话历史 |
3.3 Chat 智能体(Agent)
2024 年起,Copilot Chat 支持 agent 模式——不仅回答问题,还能推断下一步操作:
- 自动识别终端命令(
npm install等) - 自动识别代码修改建议
- 可自动应用建议(需要确认)
四、Agent 模式(Copilot Edits)
2025 年新增的 Copilot Edits 是 Copilot 从 L2 向 L3 迈进的关键功能:
| 能力 | 说明 |
|---|---|
| 多文件编辑 | 一次对话修改多个文件 |
| 终端命令 | 自动运行 npm install、npm test 等 |
| 工作集 | 指定 Agent 只能修改某些文件 |
| 撤销支持 | 改错了可以一键撤销 |
使用方式
bash
# IDE 中打开 Copilot Edits 模式
Ctrl+Shift+I → 切换到 "Edit" 模式与 Claude Code Agent 对比
| 维度 | Copilot Agent | Claude Code Agent |
|---|---|---|
| 运行环境 | IDE 内嵌 | 终端独立 |
| 编辑粒度 | 逐文件修改 | 批量读写 |
| 上下文深度 | 依赖相邻 Tab | 主动读取全项目 |
| 适合任务 | 中小改动、功能开发 | 大型重构、项目初始化 |
| 学习曲线 | 低(IDE 内) | 中(终端操作) |
五、.github/copilot-instructions.md
这是 Copilot 的"项目记忆文件",等价于 Claude Code 的 CLAUDE.md:
markdown
# 技术栈
- React 18 + TypeScript 5 + Vite
- Node.js 20 + Express 4
- PostgreSQL 16 + Prisma 5
# 编码规范
- 使用函数式组件 + Hooks
- 文件命名: PascalCase 组件, camelCase 工具函数
- API 路由前缀: /api/v1
- 错误格式: { code: string, message: string, data?: any }
# 注意事项
- 所有 API 返回用统一的 Response 包装类
- 状态管理用 Zustand,不用 Redux
- 不引入新的 npm 包详细写法参考 CLAUDE.md 与 Rules 编写指南。
六、gh copilot CLI
bash
# 安装 GitHub CLI 扩展
gh extension install github/gh-copilot
# 建议命令
gh copilot suggest "安装 Node.js 20"
# 解释错误
gh copilot explain "error: Cannot find module 'express'"
# 管道模式
cat error.log | gh copilot explain七、Copilot 的局限性
| 局限 | 说明 | 对策 |
|---|---|---|
| 不读全项目 | 只发相邻 Tab 的代码,不知道全局架构 | 配合 Claude Code 或 Cursor Agent 做大型任务 |
| 补全偏保守 | 倾向于生成最常见写法,缺乏创造性 | 复杂逻辑用 Chat/Agent 明确描述 |
| 跨文件重构弱 | 一次只能看少数几个文件 | 用 Agent 模式或 Claude Code |
| 无自主执行能力 | 不能自己运行测试、Git 操作 | 用 Claude Code -p 模式或 Copilot Agent |
| 代码安全问题 | 可能生成有漏洞的代码 | 永远 Code Review AI 生成的代码 |
八、选型建议

最佳实践:Copilot 管日常(补全+问答),Claude Code 管大事(重构+项目级任务)。
九、和本仓库其他文档的关系
| 文档 | 内容 | 与本文的关系 |
|---|---|---|
| AI 编程工具总纲 | 工具选型与演化 | Copilot 是 L1 补全 + L2 对话的代表 |
| Claude Code CLI 教程 | 终端 Agent | Copilot 和 Claude Code 互补——IDE vs 终端 |
| Cursor/Windsurf 使用指南 | IDE Agent | Copilot 和 Cursor 是同赛道竞品 |
| CLAUDE.md 编写指南 | 项目记忆 | copilot-instructions.md 的写法完全参考 CLAUDE.md |
| Prompt 工程指南 | 提示词技巧 | Chat/Agent 模式下的 Prompt 方法论 |
一句话总结
GitHub Copilot 是 AI 编程的"日常伙伴":Tab 补全管高频输入(延迟 <300ms)、Chat 管局部问答、Agent 管多文件编辑——它不一定最强,但一定最常用。把它和 Claude Code 配合:日常用 Copilot,大事用 Claude Code。