檢視 GitHub Copilot Chat 檢視功能

已完成

Visual Studio Code 中的聊天視窗用於管理你與 AI 配對程式設計師之間的聊天對話。 預設情況下,聊天視窗位於 Visual Studio Code 視窗右側的次要側邊欄。

聊天檢視介面包含三個區段:頂端附近的工具列、中央的顯示區域,以及底部的輸入和控制功能表。

要開啟聊天視窗,可以選擇切換 聊天 按鈕,或使用 Ctrl+Alt+I 鍵盤快捷鍵。

選擇代理人

聊天視窗提供以下內建代理:

  • Agent:使用Agent開始一個代理式的編碼工作流程。 你可以用代理程式自主編輯程式碼、執行指令,並在工作空間中執行任務。
  • 計畫:使用計畫代理為任務建立結構化、逐步執行計畫。 計畫代理人會分析您的請求,將其拆解成獨立步驟,並產出詳細計畫,供代理人執行。
  • 提問:使用 Ask 代理程式來詢問有關你的程式碼庫或技術概念的問題。 你可以使用 Ask 代理程式來解釋程式碼、提出修訂或修正建議,或提供與程式碼庫相關的資訊。

要切換客服人員,請在聊天視窗底部開啟客服選擇器,然後選擇 客服人員計劃詢問

這很重要

當你在代理模式下使用 聊天視窗時,GitHub Copilot 可能會提出多個高級請求以完成單一任務。 Premium 請求可用於使用者發起的提示及 GitHub Copilot 代表你執行的後續操作。 使用的進階要求總數是根據工作的複雜度、所涉及的步驟數目,以及選取的模型。

選擇代理程式的執行位置

選擇代理人會決定其角色,但你也可以透過聊天視窗中的代理人目標下拉選單控制它的運行位置。 這決定了客服如何與你的工作空間互動,以及你何時收到結果。

  • 本地:在編輯器中互動執行,並能完全存取你的工作區、工具和模型。 你可以用它來即時編碼、探索程式碼庫,或任何你想在每個步驟發生時檢視的任務。
  • GitHub Copilot CLI:在您的機器背景中執行。 當你想在繼續做其他事情的同時,實施明確的任務時,可以使用這個方法。
  • Cloud:遠端使用 GitHub Copilot 執行,並整合 GitHub 拉取請求。 使用此功能委派 GitHub 問題或建立供團隊審查的拉取請求。
  • 第三方:使用 Anthropic 或 OpenAI 的代理工具,可以在本地或雲端執行。

控制代理權限

你也可以透過聊天視窗中的 權限 選擇器來控制代理擁有多少自主權。 給予客服更多自主權提升效率,但減少對個別步驟的監督。

權限層級 說明
預設核准 唯有安全的唯讀工具才會在無需明確確認的情況下運行。 大多數工具呼叫會顯示確認對話框。
繞過核准 自動批准所有工具呼叫,無需確認對話框。
自動駕駛 (預覽) 自動核准所有工具呼叫,自動回應釐清問題,且代理會完全自主運作直到任務完成。

為你的聊天會話添加上下文

改善提示的上下文能提升 GitHub Copilot 回應的相關性。

有兩種方式可以直接在提示中指定內容:

  • 請在提示的自然語言文字中指定背景。
  • 在提示中加入聊天變數,例如 #selection

除了這些選項之外,聊天檢視還提供另外兩種方式來新增內容:

  • 你可以用拖放操作,將 Visual Studio Code 的 EXPLORER 檢視中新增檔案到 Chat 檢視。
  • 你可以在聊天輸入欄位選擇 「新增上下文 」按鈕,為提示詞添加上下文

當你選擇 「新增上下文 」按鈕時,會出現一個選單,讓你從可用的上下文類型中選擇。 可以列出下列內容類型:

  • 檔案和資料夾:此選項可讓您從工作區將檔案和資料夾新增至聊天提示。 您可以選取一或多個檔案或資料夾,以新增為內容。
  • 指示:此選項可讓您選取自定義指示檔案,描述常見的指導方針或規則,以取得符合您特定程式代碼撰寫做法和技術堆疊的回應。
  • 問題:此選項可讓您將問題從 [問題] 索引標籤新增至聊天提示。 您可以選取一或多個問題來新增為內容。
  • 符號:此選項允許你在聊天提示中加入 Visual Studio Code 符號結構。 您可以選取一或多個符號來新增為內容。
  • 螢幕快照視窗:此選項可讓您取得目前視窗的螢幕快照,並將它新增至聊天提示。
  • 終端機命令輸出:此選項可讓您將終端機中最後一個命令執行的輸出新增至聊天提示字元。
  • 搜尋結果:此選項可讓您將搜尋結果從 [搜尋] 檢視新增至聊天提示。 您可以選取一或多個搜尋結果以新增為內容。
  • 測試失敗:此選項可讓您將測試失敗的詳細資料新增至聊天提示。
  • 工具:此選項可讓您將工具,例如 #fetch 工具新增至聊天提示。 您可以選取一或多個工具來新增為內容。
  • 最近檔案(你最近在 Visual Studio Code 中開啟的檔案清單)。

使用 Ask

Ask 代理程式優化用於提問有關你的程式碼專案、程式主題及一般技術概念的問題。 當你需要了解程式碼庫、腦力激盪想法,或是尋求程式任務協助時,Ask agent 非常有用。 當您輸入提示時,AI 配對程式設計人員會以自然語言描述、代碼段和其他相關信息回應,以協助您完成編碼工作。 回應會顯示在 [聊天] 檢視中。

管理 Ask 客服的程式碼建議

當聊天回應包含程式代碼區塊時,您可以將它們個別套用至工作區中的對應檔案。 GitHub Copilot 會智慧地應用變更,並將其插入檔案中的正確位置。

要將程式碼區塊套用到你的程式碼庫,將滑鼠指標懸停在程式碼區塊上,然後選擇出現在程式碼區塊右上角的動作按鈕之一。 三個動作按鈕分別是:

  • 在編輯器中套用:此選項將程式碼區塊套用到工作區對應的檔案。 GitHub Copilot 會執行智慧套用,並將變更插入檔案的正確位置。
  • 游標插入:此選項將程式碼區塊內容插入於當前使用中的編輯器的游標位置。
  • 複製:此選項將程式碼區塊內容複製到你的剪貼簿。

根據語言延伸模組,聊天回應中的程式碼區塊可能會支援 IntelliSense,這與編輯器中的體驗類似。

若建議的程式碼區塊包含 shell 指令,則會顯示「 插入終端機 」動作按鈕。 這個選項會將指令傳送到整合終端機並執行。

使用 計畫

Plan 代理程式優化用於為複雜任務建立結構化、逐步的實施計畫。 當你想將大型任務拆解成離散步驟再做變更時,Plan agent 非常有用。 當你輸入提示時,計畫代理人會分析你的請求,評估程式碼庫,並產生包含個別步驟的詳細實施計畫。

計畫產生後,聊天視窗會顯示結構化計畫及步驟清單。 你可以檢視計畫、提供回饋,並在繼續前細化步驟。 當你對計畫感到滿意時,可以交給代理人執行。

使用 Agent

代理程式允許你指定高階任務,並讓 AI 自主評估請求、規劃所需工作,並將變更套用到你的程式碼庫中。 代理程式結合程式碼編輯與工具呼叫來完成您指定的任務。 處理您的要求時,它會監視編輯和工具的結果,並反覆查看以解決所發生任何問題。 程式代碼更新會在編輯器中直接在處理反覆項目時進行。 系統會監視工作進度,並在 [聊天] 檢視中顯示更新。

代理程式在處理使用者請求時,會使用工具來完成專門任務。 例如,將檔案列入目錄、編輯工作區中的檔案、執行終端機指令,或從終端機取得輸出。

還原編輯

完成一系列程式代碼更新之後,您可能會決定需要復原一些變更。 例如,你可能想採用不同的實作策略,或是 GitHub Copilot 在產生編輯時走錯了路。

你可以在聊天標題欄使用 「還原最後編輯 」控制,還原最後的編輯,並回到發送最後請求前的狀態。 在你還原最後一次編輯後,你可以透過聊天畫面標題欄中的 「重新做最後編輯 」控制項重新做一次。

確認工具叫用和終端命令

在 GitHub Copilot 執行終端機指令或未內建的工具之前,會先請求繼續執行的確認。 需要確認,因為工具可能會在本機計算機上執行,並執行修改檔案或數據的動作。

使用 「繼續 」按鈕的下拉選單,自動確認目前工作階段、工作區或所有未來調用的特定工具。

總結

Visual Studio Code 中的聊天視窗用於管理你與 AI 配對程式設計師之間的聊天對話。 聊天檢視介面包含三個區段:頂端附近的工具列、中央的顯示區域,以及底部的輸入和控制功能表。 聊天視圖內建三個代理元件——代理元件、計畫元件和詢問元件。 你可以透過 Agent Target 下拉選單選擇每個代理執行的位置:本地(在編輯器中互動)、GitHub Copilot CLI(在你的機器背景)、雲端(GitHub)或第三方(Anthropic/OpenAI)。 你可以透過權限選擇器控制代理的自主權:預設核准、繞過核准或自動駕駛(預覽)。 你可以透過提示中指定上下文、使用聊天變數,或使用 「新增上下文 」按鈕,為聊天會話增添情境。 Ask 代理程式優化用於提問有關你的程式碼專案、程式主題及一般技術概念的問題。 Plan 代理程式優化用於為複雜任務建立結構化、逐步的實施計畫。 代理程式允許你指定高階任務,並讓 AI 自主評估請求、規劃所需工作,並將變更套用到你的程式碼庫中。