檢查 GitHub Copilot 的 AI 協助功能

已完成

GitHub Copilot 聊天與 Visual Studio Code 使用者介面整合,以便在您需要時提供協助。

以下是您可以在 Visual Studio Code 中存取 GitHub Copilot Chat 功能的一些方法:

  • 開啟 [聊天] 檢視以取得 AI 小幫手,它可以隨時為您提供協助。
  • 撰寫程式碼時,直接從編輯器啟動內嵌聊天交談,取得協助。
  • 執行智慧動作,甚至不需要撰寫提示即可完成特定工作。
  • 開啟 [快速聊天] 視窗,以取得與 AI 的快速互動式交談。

GitHub Copilot Chat 的使用案例

GitHub Copilot Chat 提供大部分程式代碼撰寫案例的協助。 以下各節介紹其中的一些案例。

説明和記錄程式碼

Copilot Chat 可以藉由產生程式碼功能和用途之自然語言説明,協助說明所選取的程式碼。 如果您想理解程式碼的行為,或者對於需要理解程式碼如何運作的非技術專案關係人來說,這可能很實用。 例如,如果您在程式碼編輯器中選取函式或程式碼區塊,Copilot Chat 可以產生程式碼功能的自然語言説明,以及其如何融入整體系統。 這包括函式的輸入和輸出參數、其相依性,以及其在較大應用程式中的用途等資訊。

透過產生説明和文件,Copilot Chat 可以協助您理解所選程式碼,從而改進共同作業和進行更有效的軟體發展。

回答編碼問題

您可以向 Copilot Chat 尋求有關特定編碼問題的協助或釐清,並收到自然語言格式或程式碼片段格式的回應。 這對程式設計人員來說是實用的工具,因為它可以為常見的編碼工作和挑戰提供指導和支援。

提議錯誤 (bug) 修正程式

Copilot Chat 可以根據錯誤或問題的內容建議程式碼片段和解決方案,從而為程式碼中的錯誤 (bug) 提議修正程式。 如果您正苦惱於確定錯誤 (bug) 的根本原因,或者您需要關於修正它的最佳方法之指導,這會很實用。 例如,如果您的程式碼產生錯誤訊息或警告,Copilot Chat 可以根據錯誤訊息、程式碼語法和周圍的程式碼建議可能的修正程式。

Copilot Chat 可以建議對變數、控制結構或函式呼叫進行變更,這些變更可能會解决問題,並產生可以併入程式碼基底中的程式碼片段。 然而,需要注意的是,建議的修正程式可能並不總是最佳或完整的,因此您需要檢閲和測試建議。

產生單元測試案例

Copilot Chat 可以根據編輯器中開啟的程式碼或編輯器中醒目提示的程式碼片段產生程式碼片段,從而協助您撰寫單元測試案例。 這有助於您撰寫測試案例,而無需在重複工作上花費太多時間。 例如,如果您正在為特定函式撰寫測試案例,則可以使用 Copilot Chat 根據函式的簽章和本文建議可能的輸入參數和預期輸出值。 Copilot Chat 還可以根據程式碼的內容和語意,建議確保函式正確運作的判斷提示。

Copilot Chat 還可以協助您為可能難以手動識別的邊緣案例和邊界條件撰寫測試案例。 例如,Copilot Chat 可以建議錯誤處理、null 值或非預期輸入類型的測試案例,協助您確保程式碼強固且有復原性。 然而,需要注意的是,產生的測試案例可能無法涵蓋所有可能案例,手動測試和程式碼檢閱對於確保程式碼的品質仍然是必要的。

建議對現有程式碼基底進行改進

Copilot Chat 還可以建議對所選程式碼進行潜在的改進。 例如,Copilot Chat 可以建議在以下類別進行改進:

  • 程式碼品質:Copilot Chat 可以建議提高程式碼可讀性、可維護性和效能的方法。 這可以包括重構、程式碼簡化和模組化的建議。
  • 程式碼可靠性:Copilot Chat 可以建議如何使您的程式碼更加強固和可靠。 這可能包括錯誤處理、輸入驗證和防禦程式設計的建議。
  • 程式碼效能:Copilot Chat 可以建議最佳化程式碼效能的方法。 這可以包括演算法改進、資料結構最佳化和並行的建議。
  • 程式碼安全性:Copilot Chat 可以建議使程式碼更安全的方法。 這可以包括對輸入清理、存取控制和加密的建議。

透過建議改進,Copilot Chat 可協助您撰寫更可讀、更可靠、更高效、更安全的程式碼。

運作方式

GitHub Copilot Chat 使用自然語言處理和機器學習的組合來理解您的問題並為您提供答案。 此流程可以分解為以下步驟。

輸入處理

來自使用者的輸入提示由 Copilot Chat 系統進行預先處理,並傳送至大型語言模型,以取得依據內容和提示的回應。 使用者輸入可以採用程式碼片段或純語言的形式。 系統僅用於回答與編碼相關的問題。

語言模型分析

然後,已預先處理的提示透過 Copilot Chat 語言模型,該模型是已在大量文字資料上訓練的神經網路。 語言模型分析輸入提示。

回應產生

語言模型根據其對輸入提示和提供給它的内容之分析來產生回應。 此回應可以採取產生的程式碼、程式碼建議或對現有程式碼之説明的形式。

輸出格式設定

Copilot Chat 產生的回應格式化並呈現給使用者。 Copilot Chat 可能會使用語法醒目提示、縮排和其他格式化功能來增加所產生之回應的清楚性。 根據使用者提出的問題類型,還可以提供模型在產生回應時使用的內容連結,如原始程式碼檔案或文件。

GitHub Copilot Chat 旨在為您的問題提供最相關的答案。 然而,它可能並不總是能提供您想要的答案。 Copilot Chat 的使用者負責檢閱和驗證系統產生的回應,以確保它們是準確和適當的。

總結

GitHub Copilot 聊天與 Visual Studio Code 使用者介面整合,以便在您需要時提供協助。 您可以使用 Copilot Chat 來說明和記載程式代碼、回答程式碼問題、提出錯誤修正、產生單元測試案例,以及建議現有程式代碼基底的改善。 Copilot Chat 使用自然語言處理和機器學習的組合來瞭解您的問題,並提供答案。