探討 GitHub Copilot 聊天檢視功能

已完成

Visual Studio Code 中的聊天檢視可用來管理您與 AI 配對程式設計人員之間的聊天交談。 根據預設,[聊天] 檢視位於 Visual Studio Code 視窗右側的 [次要側邊列]。

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

顯示如何在 Visual Studio Code 中存取 [聊天] 檢視的螢幕擷取畫面。

若要開啟 [聊天] 檢視,您可以選取 [ 切換聊天 ] 按鈕(Copilot 圖示),或使用 Ctrl+Alt+I 鍵盤快捷方式。

選取聊天模式

[聊天] 檢視提供下列模式:

  • 詢問:使用詢問模式詢問程式代碼基底或技術概念的問題。 您可以使用詢問模式來說明程式代碼、建議修訂或修正,或提供與程式代碼基底相關的資訊。
  • 編輯:使用編輯模式,在程式代碼基底的多個檔案之間進行編輯。 您可以使用編輯模式來重構程式代碼、新增批註,或對您的程式代碼進行其他變更。
  • 代理程式:使用代理程式模式啟動代理程式編碼工作流程。 您可以使用代理程式模式來執行命令、執行程式碼,或在工作區中執行其他工作。

若要切換模式,請開啟 [聊天] 檢視底部的 [ 設定模式 ] 功能表,然後選取 [ 詢問]、[ 編輯] 或 [ 代理程式]。

這很重要

當您在代理程式模式中使用聊天檢視時,GitHub Copilot 可能會提出多個進階要求來完成單一工作。 進階要求可以由使用者起始的提示使用,並追蹤 Copilot 代表您採取的動作。 使用的進階要求總數是根據工作的複雜度、所涉及的步驟數目,以及選取的模型。

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

改善提示的內容可改善 GitHub Copilot 回應的相關性。

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

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

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

  • 您可以使用拖放作業,將檔案從 Visual Studio Code 的 EXPLORER 檢視新增至聊天檢視。
  • 您可以在聊天輸入欄位中選取 [ 新增內容 ] 按鈕,將內容新增至提示

當您選取 [ 新增內容] 按鈕時,會出現一個功能表,可讓您從可用的內容類型中選取。 可以列出下列內容類型:

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

使用 Ask 模式

詢問模式已針對詢問程式碼專案、程式代碼主題和一般技術概念的問題進行優化。 當您需要瞭解程式代碼基底、腦力激蕩想法或取得程式代碼撰寫工作的協助時,詢問模式很有用。 當您輸入提示時,AI 配對程式設計人員會以自然語言描述、代碼段和其他相關信息回應,以協助您完成編碼工作。 回應會顯示在 [聊天] 檢視中。

管理詢問模式的程式碼建議

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

若要將程式代碼區塊套用至程式代碼基底,請將滑鼠停留在程式代碼區塊上,然後選取 [ 在編輯器中套用 ] 按鈕。 Copilot 會嘗試將建議的變更套用至現有的程序代碼。

Copilot Chat 程式碼區塊回應的螢幕擷取畫面,醒目提示套用變更的動作。

或者,您也可以複製程式代碼,或將其插入目前游標位置。 將滑鼠停留在程式代碼區塊上,然後選取對應的動作。

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

如果程式碼區塊包含 Shell 命令,您可以直接在整合式終端機中執行它,使用 [插入到終端機] (Ctrl+Alt+Enter)操作。

螢幕快照:顯示 [插入終端機] 選項的 Copilot Chat 程式代碼區塊。

使用 編輯 模式

編輯模式已優化,用於在工作區提供程式碼更新建議。 當您需要重構程式代碼、新增批注或對程式代碼進行其他變更時,編輯模式很有用。 當您輸入提示時,AI 配對程式員會提供建議的程式碼更新,直接套用在編輯器中,您可以在原地檢閱,並完整了解周圍程式碼的背景。 回應會在 [聊天] 檢視中包含描述,並可包含專案中多個檔案的編輯。

Copilot Chat 在編輯模式中顯示兩個更新檔案的螢幕快照。

建議更新的詳細描述會顯示在 [聊天] 檢視中,以及更新的檔案清單。 [聊天] 檢視提供保留所有更新、 保留或復原所有更新、 復原的選項。

更新的檔案會在編輯器中開啟,並清楚醒目提示變更。 您可以使用向上鍵和向下鍵捲動建議的更新,並決定保留復原個別更新。 您也可以視需要進行任何其他修改,再接受更新。

還原編輯

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

您可以使用聊天檢視標題列中的 [復原上次編輯 ] 控件來還原上次編輯,並在傳送最後一個要求之前返回狀態。 執行上次編輯的復原之後,您可以使用 [聊天] 檢視標題列中的 [重做上次編輯 ] 控件,重新復原這些編輯。

聊天檢視的螢幕快照,其中顯示復原和重做上次編輯控件。

使用 代理程式 模式

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

代理程式模式會使用工具來完成特殊工作,同時處理使用者要求。 例如,列出目錄中的檔案、編輯工作區中的檔案、執行終端機命令,或從終端機取得輸出

確認工具叫用和終端命令

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

使用 繼續 按鈕的下拉選單選項,自動確認當前會話、工作空間或所有未來使用的特定工具。

要求確認的代理程式模式螢幕快照。

總結

Visual Studio Code 中的聊天檢視可用來管理您與 AI 配對程式設計人員之間的聊天交談。 聊天檢視介面包含三個區段:頂端附近的工具列、中央的顯示區域,以及底部的輸入和控制功能表。 聊天檢視提供三種模式:詢問、編輯和代理程式。 您可以在提示內指定內容、使用聊天變數或使用 [ 新增內容 ] 按鈕,將內容新增至聊天會話。 詢問模式已針對詢問程式碼專案、程式代碼主題和一般技術概念的問題進行優化。 編輯模式已優化,用於在工作區提供程式碼更新建議。 代理程式模式可讓您指定高階工作,並讓 AI 自主評估要求、規劃所需的工作,並將變更套用至您的程式代碼基底。