---
title: "IDE Chat 工作流"
description: "解释 GitHub Copilot Chat 在 IDE 中的提示词、上下文关键词、Plan mode、Agent mode、MCP、模型和审查边界。"
verifiedAt: "2026-05-06"
---

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 更贴近本地代码编辑、测试、错误修复和多文件任务。

> [!TIP]
> **阅读目标**：读完本章，你应该能判断一个问题应该用 Ask、Plan 还是 Agent，并知道怎样给 Copilot 正确上下文。

## 1. 先从普通 Chat 开始

官方 IDE Chat 页面说明，你可以让 Copilot Chat 给出代码建议、解释代码、生成单元测试、建议修复。不同 IDE 的打开方式不同，但基本流程一致：打开 Chat，输入 prompt，评估回答，必要时继续追问。

第一轮建议只读：

```text
解释当前文件的职责。
请说明：
1. 这个文件的主要输入和输出
2. 它依赖哪些模块
3. 修改前应该先看哪些测试
不要修改文件。
```

然后再做小范围任务：

```text
为当前选中的函数补一个最小单元测试。
只改测试文件，不要改生产代码。
完成后说明我应该运行哪个测试命令。
```

## 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 接入外部工具和服务。

```mermaid
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？
- 是否引用了过期或无关文件？
- 如果它要改代码，是否先理解测试和调用方？

> [!IMPORTANT]
> **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、确认命令、跑测试。

<details>
<summary>深读：Plan mode 为什么适合商业项目</summary>

官方 Plan mode 的设计目标，是在执行前先研究任务、分析代码库、拆步骤、列出开放问题，并把计划交给用户 review。它不会在计划阶段直接改代码。

商业项目里，很多失败不是模型写错一行代码，而是需求没澄清、范围太大、约束没读、测试入口没找。Plan mode 把这些问题提前暴露出来，比直接进入 Agent mode 更适合多人协作和上线前审查。
</details>

## 5. Agent mode 的验收方式

官方 IDE Chat 页面说明，Agent mode 会在编辑器中 stream edits、更新 working set，必要时建议 terminal commands；如果 Copilot 建议命令，你需要确认是否允许运行。页面也说明，agent mode 下你输入的每个 prompt 会按模型 multiplier 计算 premium request；工具调用或后台步骤本身不单独计费。

使用 Agent mode 前先声明边界：

```text
使用 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 个问题检查：

1. 你的问题是理解类、计划类，还是需要 Agent 改代码？
2. 你是否用 `@`、`/`、`#` 或选区明确提供了上下文？
3. 你是否查看了 Copilot 使用的 references？
4. Agent mode 产生的 diff、working set 和 terminal commands 是否都经过审查？

通过标准：你能把 IDE Chat 用成可审查的代码工作流，而不是只看一段聊天回答。

## 官方来源

- [Asking GitHub Copilot questions in your IDE](https://docs.github.com/en/copilot/how-tos/chat-with-copilot/chat-in-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](https://docs.github.com/en/copilot/how-tos/chat-with-copilot/get-started-with-chat-in-your-ide) —— 官方提示示例，覆盖 general questions、project questions、write code、fix/refactor、write tests。
- [Responsible use of GitHub Copilot Chat in your IDE](https://docs.github.com/en/copilot/responsible-use-of-github-copilot-features/responsible-use-of-github-copilot-chat-in-your-ide) —— 官方 responsible use 页面，用于核对限制和风险。

## 接下来去哪

<Cards>
  <Card title="Code suggestions" description="继续学习 inline suggestions、next edit suggestions、接受/拒绝和代码引用边界。" href="/docs/github-copilot/official/02-code-suggestions-and-chat/code-suggestions" />
  <Card title="Agent mode" description="继续学习 VS Code Agent mode 的 tools、planning、review edits 和命令确认。" href="/docs/github-copilot/official/03-vscode-agent-mode/agents-overview" />
</Cards>
