GitHub 副駕駛聊天

已完成

GitHub Copilot Chat 是 GitHub Copilot 生態系統的進階功能,旨在直接在開發人員的開發環境中提供互動式對話式 AI 助理。 它允許開發人員就其代碼進行自然語言對話、提出問題並實時接收智能響應和建議。 在本單元中,我們將涵蓋:

  • 如何使用 GitHub Copilot Chat 產生程式碼。
  • 使用 GitHub Copilot Chat 進行偵錯。
  • 如何使用 GitHub Copilot Chat 取得程式碼說明。
  • 使用斜線命令搭配 GitHub Copilot 執行動作。
  • 使用自訂 GitHub Copilot 代理程式來改善提示。

若要在整合式開發環境 (IDE) 中存取 Copilot,請按一下左側導覽列上的聊天圖示。

聊天的螢幕擷取畫面。

GitHub Copilot Chat 在某些情況下很有用:

  • 複雜程式碼產生 當您需要實作複雜的演算法、資料結構或產生特定設計模式的重複使用程式碼時,Copilot Chat 可協助簡化流程。 它可以幫助創建複雜的正則表達式、構建詳細的 SQL 查詢或開發高級數據結構,例如 Python 中的冒泡排序。

    聊天程式碼產生的螢幕擷取畫面。

  • 偵錯協助 如果您在程式碼中遇到錯誤,Copilot Chat 在分析錯誤訊息並建議潛在修正方面可能很有用處。 它可協助識別邏輯錯誤,並提供程式碼有問題區段的逐步說明。 實現此結果的一種方法是使用 Copilot 內聯聊天,方法是突出顯示包含錯誤的程式碼片段,右鍵單擊並選擇 Copilot,然後選擇內聯聊天。

    選取程式碼聊天偵錯的螢幕擷取畫面。

    例如,您可能會問:「我在此方法中取得 NullReferenceException。 你能幫我偵錯嗎?」

    產生程式碼聊天偵錯的螢幕擷取畫面。

  • 程式碼說明 Copilot Chat 也可用來進一步了解複雜的程式碼片段。 它可以將程式碼細分成更簡單的詞彙、說明陌生程式碼的用途和功能,並提供最佳做法和潛在最佳化見解。 例如,您可以詢問:「您是否可以說明這個 async/await 程式碼在 Python 中的運作方式?」

    聊天程式碼說明的螢幕擷取畫面。

如何改善 GitHub Copilot Chat 回應

您可以透過特定重要功能大幅改善 GitHub Copilot Chat 回應的品質和相關性。 讓我們加以深入了解。

範圍參考

若要增強 GitHub Copilot Chat 所提供回應的正確性和相關性,請務必使用參考正確界定問題的範圍。 做法如下:

  • 檔案參考:您可以透過在檔案名稱前面新增 #file:,在問題中指定特定檔案。

    聊天範圍檔案參考選擇的螢幕擷取畫面。

    例如,如果您使用名為 controller.js 的檔案,您可以使用 #file 命令來選取它,並將它作為 #file:controller.js 直接在您的問題中參考。 此功能告訴 Copilot Chat 在產生回應時專注於該檔案的內容。

    聊天範圍檔案參考的螢幕擷取畫面。

  • 環境參考:你可以在終端機旁使用Copilot Chat,根據指令輸出獲得協助。 這讓 Copilot 能協助除錯,並根據終端機內的情況提供建議。 例如,問「@terminal我該如何修正這個錯誤?」 讓 Copilot 分析終端輸出並提出相關解決方案。

斜線命令

GitHub Copilot Chat 中的斜線命令可讓您快速指定查詢的意圖。 這可大幅改善您收到的回應品質,方法是讓您的要求更加聚焦。 以下是一些常用的斜線命令:

  • /doc:將註解加入指定或選取的程式碼。 例如,您可以鍵入 /doc 後面跟著要記錄的程式碼,Copilot 會產生適當的註解。

    /doc 斜線命令的螢幕擷取畫面。

  • /explain:提供所選程式碼的說明。 當您需要了解特定程式碼片段的用途時,此命令非常有用。 例如, /explain the #file:controller.js 為您提供該檔案的詳細說明。

    /explain 斜線命令的螢幕擷取畫面。

  • /fix:建議修正所選程式碼中的問題。 如果您遇到問題,您可以醒目提示有問題的區段,並使用 /fix 來接收解決問題的建議。

    /fix 斜線命令的螢幕擷取畫面。

  • /generate:協助您根據需求產生新的程式碼。 例如, /generate code to find the root of a number in client.js 建立執行工作的函數。

    /generate 斜線命令的螢幕擷取畫面。

  • /optimize:分析並建議改善所選程式碼的執行時間或效率。 例如, /optimize the 計算 method in controller.js 側重於增強該特定方法的效能。

    /optimize 斜線命令的螢幕擷取畫面。

  • /tests:自動為選取的程式碼建立單元測試。 您可以只醒目提示程式碼,並使用 /tests using Mocha 來產生測試。

    /tests 斜線命令的螢幕擷取畫面。

型號選擇和高級功能

GitHub Copilot Chat 提供不同的 AI 模型來優化您的開發工作流程。 某些環境提供模型選取選項,可讓您根據特定需求在不同的功能層級之間進行選擇:

標準模型 (GPT-4o):

  • 為大多數開發任務提供快速、可靠的回應
  • 每個請求消耗 1 個 PRU
  • 非常適合日常編碼協助、代碼解釋和基本調試
  • 範例:簡單的函數產生、語法說明、基本重構建議

進階型號 (o1-preview、o1-mini):

  • 為複雜問題提供增強的推理能力
  • 每個請求消耗 2 個 PRU (標準費率的兩倍)
  • 更適合複雜的分析、複雜的演算法和架構決策
  • 範例:多執行緒程式碼的進階偵錯、複雜的演算法設計、安全性分析

在處理需要深入推理的挑戰性問題時,高級模型可以提供更徹底的分析和全面的解決方案。 不過,在為不同類型的作業選取模型時,請考量您的 PRU 使用情形。

Copilot 代理程式

GitHub Copilot 代理程式是自訂工具,您可以建置並整合 GitHub Copilot Chat,以提供專為特定需求量身打造的其他功能。 除了斜線命令之外,您還可以在 IDE 中的 Copilot Chat 中使用特定代理程式來處理不同的工作:

你也可以用「/new」的智慧動作,根據需求從零開始產生全新的專案。 例如,你可以提示 Copilot 建立一個新專案,內容包括:

/new generate a new HTML file with pages and JavaScript for advanced calculations

按一下 [建立工作區] 以繼續進行程式碼產生。就這樣,您的新專案包含您所要求的程式碼。

  • @terminal:此代理程式適用於命令列相關問題。 例如,您可以要求它尋找目錄中最大的檔案,或說明您執行的最後一個命令。

    [@terminal] 代理程式命令的螢幕擷取畫面。

  • @vscode:使用此代理程式詢問與 Visual Studio Code 相關的問題,例如如何偵錯或變更 IDE 內的設定。

    [@vscode] 代理程式命令的螢幕擷取畫面。

    藉由有效地利用這些工具和技術,您可以大幅改善您從 GitHub Copilot Chat 收到的回應品質,讓您的程式碼撰寫體驗更有效率且更具生產力。

在 GitHub Copilot 聊天上分享意見反應

大部分具有 Copilot 聊天整合的 IDE 都有內建的意見反應機制。 例如,在 Visual Studio Code 中,您可以在 GitHub Copilot Chat 建議的開頭找到意見反應選項。 將滑鼠懸停在建議上,您應該會看到「讚」和「噓」按鈕。

按讚實用按鈕的螢幕擷取畫面。

按一下按讚扭,將建議評為實用。

倒讚不實用的拇指螢幕擷取畫面。

按兩下拇指向下評分,以對無幫助的指紋進行評分。