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 頁面,用於核對限制和風險。