---
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="/zh-Hant/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="/zh-Hant/docs/github-copilot/official/03-vscode-agent-mode/agents-overview" />
</Cards>
