在 Visual Studio 中設定 GitHub Copilot Chat 的內容,以取得更好的答案
您可以使用在 Visual Studio 中 GitHub Copilot Chat 取得撰寫程式碼的資訊和支援,例如語法、程式設計概念、內容特定的程式碼說明、測試案例、偵錯等等,而不需要離開 IDE。 Copilot Chat 已整合到 Visual Studio 中,這表示它可以透過從您在 IDE 中已具備的內容收集實用線索,來了解您正在處理的內容。
在本文中,您將會了解如何藉由提供更多資訊給 Copilot Chat,以取得更好的答案,包括:
- 使用斜線命令快速指定常見的工作,例如
/explain
以取得程式碼說明。 - 使用參考將聊天範圍設定為特定檔案。
- 檢閱 Copilot 用來產生答案的來源。
- 針對每個 Copilot 聊天使用不同的執行緒,讓您可以在每個聊天中維護不同的內容。
深入了解 Visual Studio 中的 AI 輔助開發,以及如何在 Visual Studio 中使用 Copilot Chat。
必要條件
若要開始使用 Visual Studio 中的 GitHub Copilot Chat,您需要:
- 個人用 GitHub Copilot 或商務用 GitHub Copilot 的作用中訂閱
- 已安裝 Visual Studio 2022 17.6 版或更新版本
- Visual Studio 中已安裝 GitHub Copilot
- Visual Studio 中已安裝 GitHub Copilot Chat 延伸模組
在 Copilot 聊天中使用 slash 命令執行一般工作
Copilot Chat 中的斜線命令可協助您快速設定一般開發工作的意圖。 藉由使用特定的斜線命令來形成您的問題,您可以取得更好的答案,而不需要寫出很長的問題。
您可以在聊天視窗中使用斜線命令,或使用內嵌程式碼助理,直接內嵌在您想要修的程式碼中。 有助於修改或新增至您已在編輯器中開啟的程式碼檔案的命令,可以在內嵌程式碼助理和聊天視窗中運作,而更為一般編碼問題的命令只能在聊天窗格中運作。
命令 | 使用方式 | 聊天視窗 | 內嵌聊天 |
---|---|---|---|
/doc | 為指定或選取的程式碼新增註釋。 例如: - /doc DeleteBasketAsync method in BasketService.cs - 選取想要程式碼並輸入 /doc |
Yes | Yes |
/explain | 取得程式碼說明。 例如: - /explain the AddItemToBasket method in BasketService.cs - 選取想要程式碼並輸入 /explain |
Yes | Yes |
/fix | 建議修正所選程式碼中的問題。 例如: - /fix the SetQuantities method in BasketService.cs - 選取想要程式碼並輸入 /fix |
Yes | Yes |
/generate | 產生程式碼以回答指定的問題。 範例: /generate code to add two numbers in Calculator.cs |
Yes | Yes |
/help | 取得關於使用 Copilot 聊天的説明。 範例: /help |
Yes | Yes |
/optimize | 分析並改善所選程式碼的執行時間。 範例: - /optimize the AddItemToBasket method in BasketService.cs - 選取想要程式碼並輸入 /optimize |
Yes | Yes |
/tests | 為選取的程式碼建立單元測試。 例如:選取想要程式碼並輸入 /tests |
Yes | Yes |
參考:將 Copilot 結果的範圍設定為特定檔案或整個方案
您可以使用自然語言詢問與撰寫程式碼相關的問題,GitHub Copilot Chat 會在您於 Visual Studio 中開啟的程式碼基底內容中回答這些問題。 透過參考,您可以取得您希望 Copilot 在回答問題時考量的更具體資訊。 藉由在程式碼基底中選取特定內容,您可以輕鬆地形成更好的問題,而不必撰寫或貼上長篇資訊。 指定內容也可讓 Copilot 為您提供更相關的答案。
若要輕鬆地參考檔案,只要在檔案名稱開頭新增 # 符號即可。 例如,如果您有名為 BasketService.cs 的檔案,在聊天中將其參考為 #BasketService.cs。
使用 #solution 參考 IDE 中作用中的方案,以取得內容。
以下是使用內容控制項參考的一些範例:
範例 | Copilot 用來形成問題的內容 |
---|---|
#MyFile.cs:66-72 的用途是什麼? | 檔案的精確區段 |
#BasketService.cs 中的測試在哪裡? | BasketService.cs |
/explain #BasketService.cs 中的 AddItemToBasket 方法 | BasketService.cs 中的 AddItemToBasket 方法 |
此 #solution 是否有 delete basket 方法 | 在 IDE 中開啟目前的方案 |
檢閱 Copilot 聊天使用的來源
Copilot Chat 會在每個結果之後顯示所使用的內容,讓您可以分辨回答問題時所考量的內容。 當您向 Copilot 聊天提問並在聊天視窗中獲得回覆時,回應下方會顯示一個參考下拉式清單。 [參考] 下拉式清單中的項目顯示 Copilot 聊天產生該回應時所引用的上下文。 這項資訊可協助您修改問題,以取得更好且更相關的答案。
組織:將與 Copilot 的聊天隔離成執行緒
如果您在撰寫程式碼時廣泛地使用 Copilot Chat 詢問問題,可以透過讓交談保持主題的方式進行組織。 適用於 Visual Studio 的 Copilot Chat 現在提供簡單的方法來啟動新的交談 (執行緒),讓他們專注於手邊的工作,並讓內容保持清晰,使答案以相關的歷程記錄為基礎。
您可以選取聊天視窗中的 [建立新執行緒] 來啟動新的執行緒。
您可以在多個進行中的執行緒之間選取,為您的問題提供正確的歷程記錄內容。
相關內容
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應