用GitHub Copilot分析並解釋程式碼
開發者利用 GitHub Copilot 來腦力激盪新應用程式或新功能、探索程式工具與技術、評估問題與潛在修正方案,並解釋複雜或不熟悉的程式碼。 GitHub Copilot能幫助你理解程式碼的目的與行為,讓操作與維護更為輕鬆。
以下各項GitHub Copilot特性皆可用來分析或解釋程式碼:
- 聊天檢視:使用聊天檢視來詢問程式代碼專案、程式代碼主題和一般技術概念的問題。
- 內嵌聊天:直接從編輯器啟動內嵌聊天會話,詢問特定程式代碼區段。
- 智慧動作:執行說明智慧動作來說明選取的程序代碼,甚至不需要撰寫提示。
- 快速聊天:詢問簡單問題,然後繼續你正在做的事。
在詢問代理模式中使用聊天視窗來分析並解釋程式碼
Visual Studio Code 中的聊天視窗用於管理你與 AI 配對程式設計師之間的聊天對話。 預設情況下,聊天視窗位於 Visual Studio Code 視窗右側的次要側邊欄。 當您提交提示時,AI 配對程式設計人員會以自然語言描述、代碼段和其他相關信息回應。 回應會顯示在 [聊天] 檢視中。
要進入聊天視窗,你可以選擇
你可以在客服問答模式中使用聊天界面來處理各種主題。 例如:
- 提出有關程式設計與技術概念的問題(「
What is a linked list?」、「top 10 popular web frameworks」) - 腦力激盪如何最好地解決程式設計問題(「
How to add auth to my project?」) - 解釋一段程式碼區塊(「
@workspace /explain」,「What does this code do?」) - 提出程式碼修正(「
@workspace /fix」、「This method gives a FileNotFoundException」) - 詢問 VS Code 設定(「
@vscode how do I disable the minimap?」)
Ask 代理模式支援以下介面功能:
聊天檢視工具列:聊天檢視工具列位於聊天檢視右上角。 您可以使用工具列來管理聊天記錄、開始新的聊天、在另一個位置開啟 [聊天] 檢視,或隱藏 [聊天] 檢視。 將滑鼠指標停留在工具列按鈕圖示上,以查看描述。
聊天室回應區:聊天室回應區是聊天視窗工具列下方的空間,GitHub Copilot 會顯示回應。 回應包括程式代碼建議、說明、互動式元素,以及與提示相關的其他資訊。
附加上下文按鈕:附加上下文按鈕(迴紋針圖示)位於聊天視窗的底部。 你可以用這個按鈕將檔案、選取、符號或其他資源從工作區附加到聊天提示的上下文。
Ask Copilot:Ask Copilot 文字框是輸入提示的地方。 當你使用詢問代理模式時,提示可以包含聊天參與者、斜杠指令和聊天變數。
在詢問客服模式中,你可以使用聊天參與者來指定問題的上下文。 例如,你可以用來
@workspace表示上下文是你的工作區檔案。開始語音聊天按鈕:開始語音聊天按鈕位於 Ask Copilot 文字框的左側。 你可以用這個按鈕來啟用或關閉與GitHub Copilot的語音互動。 啟用語音互動後,你可以用語音提問GitHub Copilot問題。
Agents 下拉式清單:Agents 下拉式清單位於 Ask Copilot 文字方塊的右側。 你可以使用此下拉選單在詢問、代理和方案模式間切換。
Pick Model 功能表:Pick Model 功能表位於 Agents 下拉式清單的右側。 你可以用這個按鈕選擇GitHub Copilot用來產生回應的模型。 車型選擇可能會根據您的GitHub Copilot訂閱、GitHub Copilot設定以及您所在地區的車型而受到限制。
送出按鈕:送出按鈕位於選取模型選單的右側。 你可以使用此按鈕提交提示給GitHub Copilot並獲得回覆。 「送出」按鈕包含一個下拉選單,提供提交提示的選項。
使用內嵌聊天來分析和說明程序代碼
內嵌聊天功能可讓您直接從編輯器啟動聊天會話。 當您想要詢問特定程式代碼的問題(區段、行或變數),而不離開編輯器時,內嵌聊天很有用。 回應會顯示在內嵌聊天視窗中。
要進入內嵌聊天,你可以從GitHub Copilot選單中選擇Editor Inline Chat,或使用Ctrl+I鍵盤快捷鍵。 使用 Escape 鍵關閉內嵌聊天視窗。
您可以使用內嵌聊天詢問一般程式設計相關的問題,但最適合在使用中的編輯器中提出和程式碼相關的問題。 例如:
- 解釋一段程式碼區塊(「
/explain How are the parameters of the XYZ method used?」,「/explain #selection」) - 檢視一個議題(「
/explain Why does this code throw an exception?」,「/explain How can I fix this issue?」) - 提出有關程式設計或技術概念的問題(「
/explain Can LINQ be used to improve readability?」)
內嵌聊天支援下列功能:
Ask Copilot:Ask Copilot 文字框是輸入提示的地方。 當您使用內嵌聊天時,提示可以包含斜線命令和聊天變數,但不支援聊天參與者。
開始語音聊天按鈕:開始語音聊天按鈕位於 Ask Copilot 文字框的左側。 你可以用這個按鈕來啟用或關閉與GitHub Copilot的語音互動。 啟用語音互動後,你可以用語音提問GitHub Copilot或請求代碼建議。
選擇模型選單:選擇模型選單允許你選擇GitHub Copilot用來產生回應的模型。 車型選擇可能會根據您的GitHub Copilot訂閱、GitHub Copilot設定以及您所在地區的車型而受到限制。
送出按鈕:送出按鈕位於選取模型選單的右側。 你可以使用此按鈕提交提示給GitHub Copilot並獲得回覆。 「送出」按鈕包含一個下拉選單,提供提交提示的選項。
使用 [解說] 智慧型動作來說明程式碼
說明智慧動作可用來說明編輯器中開啟的程序代碼。 您可以選取程式代碼區塊、單一程式代碼行或變數來縮小焦點範圍。 當未選取任何程式碼時,說明會參考使用中的檔案。 [解釋智能功能] 會在 [聊天] 視圖中顯示回應。
要進入「解釋」智慧動作,可以在啟用程式碼編輯器中右鍵點擊,選擇 Copilot,然後選擇 Explain。
在內容選單中顯示「說明智慧動作」的截圖。
使用 [快速聊天] 視窗來分析和說明程序代碼
快速聊天功能可讓您快速提問,然後繼續專注於手邊的工作。 當您想要詢問快速問題而不影響您在聊天檢視中建置的聊天歷程記錄時,快速聊天功能很有用。 回應會顯示在 [快速聊天] 視窗中。
要進入快速聊天視窗,你可以從GitHub Copilot選單中選擇快速聊天,或使用Ctrl+Shift+Alt+L快捷鍵。
快速聊天視窗支援與詢問客服模式聊天視窗相同的情境功能,但無法管理聊天歷史。 [快速聊天] 視窗是專為快速問題和解答所設計,因此不包含 [聊天] 檢視所提供的所有功能。
你可以在詢問客服模式中使用快速聊天處理與聊天視窗相同的問題。 不過,即時聊天最適合處理不屬於較大討論範圍的簡短問題。
總結
GitHub Copilot 提供了多項功能,可用於分析與解釋程式碼。 聊天檢視、內嵌聊天、說明智慧動作和快速聊天視窗都提供詢問程式碼專案、程式代碼主題和一般技術概念的問題的方法。 藉由使用這些功能,您可以進一步了解程式代碼並改善程式碼撰寫技能。