IDE Chat 工作流
解释 GitHub Copilot Chat 在 IDE 中的提示词、上下文关键词、Plan mode、Agent mode、MCP、模型和审查边界。
IDE Chat 是 Copilot 最接近代码现场的入口。它能看到当前文件、选区、项目上下文和 IDE 状态;也能通过 chat participants(聊天参与者)、slash commands(斜杠命令)、chat variables(聊天变量)、GitHub skills、MCP、Plan mode 和 Agent mode 扩展能力。
这也是它和 GitHub.com Chat 的主要区别:GitHub.com 更贴近 PR、issue 和仓库协作对象;IDE Chat 更贴近本地代码编辑、测试、错误修复和多文件任务。
阅读目标:读完本章,你应该能判断一个问题应该用 Ask、Plan 还是 Agent,并知道怎样给 Copilot 正确上下文。
1. 先从普通 Chat 开始
官方 IDE Chat 页面说明,你可以让 Copilot Chat 给出代码建议、解释代码、生成单元测试、建议修复。不同 IDE 的打开方式不同,但基本流程一致:打开 Chat,输入 prompt,评估回答,必要时继续追问。
第一轮建议只读:
解释当前文件的职责。
请说明:
1. 这个文件的主要输入和输出
2. 它依赖哪些模块
3. 修改前应该先看哪些测试
不要修改文件。然后再做小范围任务:
为当前选中的函数补一个最小单元测试。
只改测试文件,不要改生产代码。
完成后说明我应该运行哪个测试命令。2. 上下文关键词
官方文档说明,可以用特殊关键词帮助 Copilot 理解 prompt。VS Code 中常见类别包括 chat participants、slash commands 和 chat variables。
- Chat participant:例如
@workspace、@terminal、@github;把问题交给特定领域能力。 - Slash command:例如
/explain、/tests;作为常见任务快捷入口。 - Chat variable:例如
#selection、#file、#editor、#codebase、#git;明确把选区、文件、代码库或 Git 上下文带入。 - GitHub skills:例如
@github;查询 issue、PR、仓库等 GitHub 特定信息。 - MCP tools:写法取决于配置;让 Chat 接入外部工具和服务。
flowchart TD
Prompt["IDE Chat prompt"] --> Current["默认当前文件/选区"]
Prompt --> Participant["@ participant"]
Prompt --> Slash["/ slash command"]
Prompt --> Var["# chat variable"]
Prompt --> MCP["MCP tools"]
Current --> Answer["Copilot response"]
Participant --> Answer
Slash --> Answer
Var --> Answer
MCP --> Answer
Answer --> Review["检查 references / diff / tests"]
style Var fill:#dbeafe,stroke:#2563eb,stroke-width:2px
style Review fill:#dcfce7,stroke:#16a34a,stroke-width:2px
不要指望 Copilot 猜到所有上下文。能选中代码就选中,能指定文件就指定文件,能用 #git 或 #codebase 就明确写出来。
3. 看它用了哪些 references
官方 VS Code 说明中提到,Copilot 响应顶部可以看到 Used references,下拉后能看到它用来生成回答的文件或 custom instructions。
这一步很重要。回答看起来合理,但 references 不对,就说明上下文可能错了。
检查方式:
- 它是否引用了当前文件或选区?
- 是否引用了仓库 custom instructions?
- 是否引用了过期或无关文件?
- 如果它要改代码,是否先理解测试和调用方?
IDE Chat 的可信度来自 references、diff 和测试,不来自自然语言自信程度。
4. Ask、Plan、Agent 怎么选
官方文档把 IDE Chat 分成不同模式。2026-05-06 核验时,Plan mode 仍标注为 public preview;Agent mode 适合让 Copilot 自主编辑代码、选择文件、提出终端命令,并迭代完成任务。
- Ask:回答代码库、编程和技术概念问题;适合理解、解释和比较方案;边界是不应直接改代码。
- Plan:先创建详细实现计划,审核后再执行;适合新功能、重构、bug 修复前的方案;边界是 plan agent 不改代码,需人工 review。
- Agent:自主编辑代码、更新 working set、建议 terminal commands;适合多步骤、多文件、需要迭代的任务;边界是必须审 diff、确认命令、跑测试。
深读:Plan mode 为什么适合商业项目
官方 Plan mode 的设计目标,是在执行前先研究任务、分析代码库、拆步骤、列出开放问题,并把计划交给用户 review。它不会在计划阶段直接改代码。
商业项目里,很多失败不是模型写错一行代码,而是需求没澄清、范围太大、约束没读、测试入口没找。Plan mode 把这些问题提前暴露出来,比直接进入 Agent mode 更适合多人协作和上线前审查。
5. Agent mode 的验收方式
官方 IDE Chat 页面说明,Agent mode 会在编辑器中 stream edits、更新 working set,必要时建议 terminal commands;如果 Copilot 建议命令,你需要确认是否允许运行。页面也说明,agent mode 下你输入的每个 prompt 会按模型 multiplier 计算 premium request;工具调用或后台步骤本身不单独计费。
使用 Agent mode 前先声明边界:
使用 Agent mode 修复这个 failing test。
边界:
1. 只改 src/auth 和 tests/auth
2. 不要修改依赖版本
3. 命令执行前先列出命令和原因
4. 完成后给出 git diff 摘要和测试命令验收至少看:
- Working set 包含哪些文件。
- Diff 是否只在声明范围内。
- 建议的 terminal commands 是否安全。
- 测试是否真实运行。
- Premium request 和模型选择是否符合团队策略。
6. IDE 差异不要忽略
官方页面覆盖 VS Code、Visual Studio、JetBrains、Xcode、Eclipse 等环境。能力大体相似,但入口、支持功能和 preview 状态不同。
例如:
- VS Code 文档提到 Plan、Ask、subagents、GitHub skills、MCP、chat variables 等更多能力。
- Eclipse 文档提到 Plan mode、Agent mode、MCP prerequisites 和
/explain等 slash commands。 - Xcode 有文件引用和 conversation thread 管理。
- 企业或组织策略可能关闭 Chat、模型切换或 MCP servers。
团队文档不要只写“打开 Copilot Chat”。要写明目标 IDE、扩展版本、组织策略和最低验收动作。
本章自检
完成本章后,用这 4 个问题检查:
- 你的问题是理解类、计划类,还是需要 Agent 改代码?
- 你是否用
@、/、#或选区明确提供了上下文? - 你是否查看了 Copilot 使用的 references?
- Agent mode 产生的 diff、working set 和 terminal commands 是否都经过审查?
通过标准:你能把 IDE Chat 用成可审查的代码工作流,而不是只看一段聊天回答。
官方来源
- Asking GitHub Copilot questions in your IDE —— 官方 IDE Chat 文档,覆盖 prompts、keywords、GitHub skills、MCP、models、Plan mode、Agent mode 和多 IDE 差异。
- Getting started with prompts for GitHub Copilot Chat in your IDE —— 官方提示示例,覆盖 general questions、project questions、write code、fix/refactor、write tests。
- Responsible use of GitHub Copilot Chat in your IDE —— 官方 responsible use 页面,用于核对限制和风险。