Visual Studio Code 中的 Copilot CLI 工作階段

Visual Studio Code 支援使用 GitHub Copilot CLI 在背景執行代理程式工作階段。您可以從 VS Code 中的統一「聊天」檢視來啟動、監控和管理 Copilot CLI 工作階段,而代理程式則會在您的本機機器上自主執行,讓您能繼續在編輯器中進行其他工作。您可以同時執行多個 Copilot CLI 工作階段,以並行處理獨立的任務。

若要啟動 Copilot CLI 工作階段,您可以建立新的工作階段或將本機代理程式工作階段移交給 Copilot CLI,並傳遞現有的上下文。

本文涵蓋了 Copilot CLI 代理程式的主要功能,以及如何從 Copilot CLI 啟動和管理背景工作階段。

Screenshot of Copilot CLI session as a chat editor in VS Code.

提示

如果您主要是在多個專案中與代理程式合作,您也可以在代理程式視窗 (Agents window) 中管理您的 Copilot CLI 工作階段,這是一個優先考慮代理程式的介面,與主要的 VS Code 視窗共用工作階段。

提示

像 OpenAI Codex 這類第三方提供者也提供背景處理能力。深入了解第三方代理程式

什麼是 Copilot CLI 工作階段?

Copilot CLI 工作階段會在使用 Copilot CLI 代理程式工具組的本機機器上獨立於背景執行。VS Code 使用 Copilot SDK 與這些代理程式整合,以啟動、停止並監控您背景工作階段的進度。VS Code 會自動為您安裝並設定 Copilot CLI。

Copilot SDK 工作階段會在 VS Code 之外執行,當您關閉 VS Code 視窗時,它們會繼續在背景執行。此行為與在編輯器內使用 VS Code 代理程式工具組、並在 VS Code 停止時隨之停止的本機代理程式不同。

您可以從統一的「聊天」檢視與 Copilot CLI 工作階段互動。當背景工作階段需要您的輸入或需要權限來執行動作時,您可以直接在聊天中進行。當工作階段需要輸入時,代理程式狀態指示器也會提供提示。

由於 Copilot CLI 工作階段是在背景執行,它們非常適合範圍明確、擁有所有必要上下文且不需要頻繁使用者互動的任務。範例包括從計畫中實作功能、建立概念驗證的多個變體,或實作明確定義的修復程式或功能。

Copilot CLI 在聊天中支援斜線指令,包括可重複使用的提示詞代理程式技能掛鉤 (hooks)、用於管理長對話的 /compact,以及用於切換自動核准工具/yolo/autoApprove。在 Copilot CLI 工作階段的聊天輸入框中輸入 / 即可查看可用指令。

隔離模式

Copilot CLI 支援兩種隔離模式來管理代理程式的變更如何套用到您的程式碼庫:工作樹 (Worktree)工作區 (Workspace) 隔離。您可以在建立新的 Copilot CLI 工作階段時選擇隔離模式。

若要隔離來自 Copilot CLI 代理程式的變更並防止干擾您的主動工作,請使用 工作樹 隔離。在此模式下,VS Code 會在獨立資料夾中為 Copilot CLI 工作階段建立一個 Git 工作樹。代理程式所做的所有變更都會套用到該工作樹,在您準備好審查並套用它們之前,這些變更會與您的主要工作區保持隔離。

如果您分支 (fork) 使用工作樹隔離的 Copilot CLI 工作階段,分支出的工作階段會繼續使用與原始工作階段相同的工作樹。VS Code 僅會在最後一個連結的工作階段被刪除或封存後,才會移除共用的工作樹。

如果您希望將 Copilot CLI 工作階段的變更直接套用到您目前的工作區,您可以選擇 工作區 隔離。在此模式下,代理程式會直接在您目前的工作區中運作,變更會直接原地套用。

注意

若要使用 Git 工作樹和工作樹隔離,您的工作區必須是一個 Git 儲存庫。

權限與核准

Copilot CLI 工作階段支援與本機代理程式相同的權限層級。可用的權限層級取決於您選擇的隔離模式。

  • 工作樹隔離:權限層級會自動設為 略過核准 (Bypass Approvals) 且無法更改。由於代理程式是在您程式碼庫的隔離副本 (Git 工作樹) 上運作,所有工具呼叫都會自動核准,無需確認對話框。
  • 工作區隔離:與本機代理程式工作階段一樣,所有三種權限層級皆可使用 (預設核准 (Default Approvals)略過核准 (Bypass Approvals)自動駕駛 (Autopilot))。請從聊天輸入區域的權限選擇器中選擇一個層級。

建立 Copilot CLI 工作階段

在 VS Code 中建立新的 Copilot CLI 工作階段

  1. 使用以下任一選項建立新的工作階段

    • 開啟「聊天」檢視 (⌃⌘I (Windows, Linux Ctrl+Alt+I)),並從「工作階段目標」下拉式選單中選擇 Copilot CLI

    • 選擇上方的 新增聊天 (New Chat) 圖示,然後選擇 新增 Copilot CLI 工作階段 (New Copilot CLI Session)

    • 從指令面板 (⇧⌘P (Windows, Linux Ctrl+Shift+P)) 執行 Chat: New Copilot CLI 指令

  2. 選擇工作區或工作樹隔離模式

    如果您使用工作樹隔離,代理程式會在每一輪結束時自動將變更提交到工作樹,因此工作階段歷史記錄會與提交歷史記錄保持一致。

    提示

    您可以透過在工作階段清單中按右鍵並選擇 在視窗中開啟工作樹 (Open Worktree in New Window) 來開啟工作階段的工作樹。您也可以在原始碼控制檢視的儲存庫瀏覽器 (scm.repositories.explorer) 中查看工作樹。

  3. 提交您的提示詞以啟動代理程式。您可以選擇性地加入額外的上下文,或選擇特定的語言模型與自訂代理程式。

  4. 在「聊天」檢視中追蹤工作階段狀態。

提示

您可以建立多個 Copilot CLI 工作階段以並行處理不同的任務。

將本機工作階段移交給 Copilot CLI

對於複雜的任務,先在 VS Code 中與本機代理程式互動以釐清需求,然後將任務移交給 Copilot CLI 在背景自主執行通常很有幫助。當使用 計畫代理程式 (Plan agent) 來建立計畫,然後將該計畫的實作移交給 Copilot CLI 時,這會非常有用。

當您將本機代理程式對話移交給 Copilot CLI 工作階段時,完整的對話歷史記錄和上下文將會傳遞給背景工作階段。

若要將本機代理程式工作階段移交給 Copilot CLI

  1. 開啟「聊天」檢視 (⌃⌘I (Windows, Linux Ctrl+Alt+I))

  2. 與本機代理程式互動,直到您準備好移交任務為止

  3. 若要移交給 Copilot CLI,您有以下選項

    • 開啟 工作階段目標 (Session Target) 下拉式選單,然後選擇 Copilot CLI

      Screenshot showing the Session Target dropdown in VS Code chat interface.

    • 如果您正在使用 計畫代理程式,請選擇 開始實作 (Start Implementation) 下拉式選單,然後選擇 繼續在 Copilot CLI 中執行 (Continue in Copilot CLI) 以在 Copilot CLI 工作階段中執行實作

      Screenshot showing the "Start Implementation" button in VS Code chat interface.

Copilot CLI 工作階段會自動啟動,並攜帶完整的對話歷史記錄和上下文。

遠端控制 Copilot CLI 工作階段

"/remote on" 指令讓您可以從 github.com 或 GitHub 行動版 App 遠端控制 Copilot CLI 工作階段。透過遠端控制,您可以隨時隨地監控並指揮正在進行的 Copilot CLI 工作階段,讓您更彈性地持續推動工作,而無需綁定在您的機器前。您可以在 VS Code 和 GitHub 之間保持完整的同步工作階段上下文和歷史記錄。

提示

遠端控制是遠端執行代理程式工作階段的兩種方式之一。您也可以透過 SSH 或開發隧道將代理程式視窗連線到遠端機器。深入了解遠端代理程式工作階段

當啟用遠端控制時,VS Code 會即時將工作階段歷史記錄、工具活動和狀態更新串流傳輸到連結的 GitHub 任務頁面。您在一處執行的動作會反映在另一處。如果工作階段需要對工具呼叫進行核准,或對問題進行輸入,提示會同時顯示在兩個位置,您可以從任何一處回應。

若要對 Copilot CLI 工作階段使用遠端控制

  1. 從「聊天」檢視啟動或恢復一個 Copilot CLI 工作階段。

  2. 在聊天輸入框中輸入 "/remote on" 以啟用遠端控制並建立連結的 GitHub 任務頁面。

  3. 選擇 在 GitHub 上開啟 (Open on GitHub) 以開啟連結的任務頁面,或掃描 QR 碼以在您的行動裝置上開啟。

隨時執行 "/remote" 以檢查目前的遠端控制狀態。"/remote" 指令僅顯示狀態,不會啟用或停用遠端控制。

若要停止將工作階段鏡像到 GitHub,請在聊天輸入框中輸入 "/remote off"

若要停用 VS Code 中 Copilot CLI 工作階段的遠端控制支援,請停用 github.copilot.chat.cli.remote.enabled 在 VS Code 中開啟 在 VS Code Insiders 中開啟 設定。

注意

遠端控制需要在 VS Code 中進行 GitHub 驗證,且工作區必須對應到一個 GitHub 儲存庫。如果需要額外的 GitHub 權限,VS Code 會在啟用遠端控制前提示您授權。

從終端機使用 Copilot CLI

除了從「聊天」檢視啟動 Copilot CLI 工作階段外,您也可以直接從 VS Code 終端機使用 Copilot CLI。

Screenshot showing the Copilot CLI session inside VS Code.

開啟 Copilot CLI 終端機

VS Code 會註冊一個 GitHub Copilot CLI 終端機設定檔,您可以用它來開啟專用的 Copilot CLI 終端機。您可以透過幾種方式開啟 Copilot CLI 終端機:

  • 選擇終端機面板中 + 按鈕旁邊的下拉式選單,然後選擇 GitHub Copilot CLI

  • 從指令面板執行 Chat: New Copilot CLI Session 指令以在面板中開啟 Copilot CLI 終端機,或執行 Chat: New CLI Session to the Side 以在您目前編輯器旁邊的編輯器分頁中開啟它。

  • 從指令面板 (⇧⌘P (Windows, Linux Ctrl+Shift+P)) 執行 Terminal: Create New Terminal (With Profile) 指令,然後選擇 GitHub Copilot CLI

  • 在任何 VS Code 整合終端機中輸入 copilot 以直接啟動 Copilot CLI

Copilot CLI 終端機支援以下 Shell:

  • macOS 和 Linux 上的 bashzsh
  • Windows 上的 PowerShell命令提示字元 (Command Prompt)

從終端機啟動和恢復工作階段

當您從 Copilot CLI 終端機啟動新工作階段時,VS Code 會自動偵測到該工作階段並將其顯示在「聊天」檢視的工作階段清單中。然後,您可以從終端機或「聊天」檢視追蹤進度、傳送後續提示詞或審查變更。

若要在終端機中恢復現有的 Copilot CLI 工作階段,請在工作階段清單中對該工作階段按右鍵,然後選擇 在終端機中恢復 (Resume in Terminal)

VS Code 會自動處理 Copilot CLI 終端機的驗證,因此您無需另外登入。

多儲存庫工作區

如果您的工作區包含多個 Git 儲存庫,當您啟動 Copilot CLI 工作階段時,VS Code 會在聊天輸入框中顯示儲存庫選擇器。使用此選擇器選擇應在其中建立工作樹的儲存庫。

工作階段啟動後,該工作階段的儲存庫選擇器將會停用。工作樹會顯示在「原始碼控制儲存庫」檢視的 工作樹 (Worktrees) 節點下,並歸類在所選儲存庫中。

提示

若要查看工作區中的所有儲存庫,請啟用 scm.repositories.explorer 在 VS Code 中開啟 在 VS Code Insiders 中開啟 設定,並開啟「原始碼控制」檢視。

在 Copilot CLI 中使用自訂代理程式

自訂代理程式讓您可以在 VS Code 中為代理程式定義自訂角色和職責。例如,您可以建立一個專門執行程式碼審查的自訂代理程式。自訂代理程式可以定義特定的指令和行為。

當您建立 Copilot CLI 工作階段時,您可以選擇一個自訂代理程式來處理該任務。自訂代理程式會依照定義的行為運作。

在 Copilot CLI 中使用自訂代理程式

  1. 使用 github.copilot.chat.cli.customAgents.enabled 在 VS Code 中開啟 在 VS Code Insiders 中開啟 設定為 Copilot CLI 啟用自訂代理程式。

  2. 使用指令面板中的 Chat: New Custom Agent 指令在您的工作區建立自訂代理程式 (⇧⌘P (Windows, Linux Ctrl+Shift+P))

  3. 建立新的 Copilot CLI 工作階段,並從「代理程式」下拉式選單中選擇該自訂代理程式

    Screenshot showing custom agent selection in VS Code chat interface.

  4. 輸入提示詞,並注意自訂代理程式已被用於處理該任務

注意

目前,只有工作區中定義的自訂代理程式可用於 Copilot CLI 工作階段。深入了解建立自訂代理程式

Copilot CLI 工作階段的限制

  • Copilot CLI 工作階段無法存取所有 VS Code 內建工具。您可以在聊天輸入框中明確加入上下文

  • 無法存取擴充功能提供的工具,且僅限於透過 CLI 工具提供的模型。

  • 目前僅能存取不需要驗證的本機 MCP 伺服器。

© . This site is unofficial and not affiliated with Microsoft.