檢視 GitHub Copilot 的程式碼審查功能

已完成

GitHub Copilot 可以審查你的程式碼並提供回饋。

Visual Studio Code 中的 GitHub Copilot 程式碼審查支援兩種類型的審查:

  • 檢閱選取項目:醒目提示程式碼並要求初步檢閱。
  • 檢閱變更:要求詳細檢閱您所有的變更。

下表摘要說明下列兩種檢閱類型的目前功能和可用性:

特徵 / 功能 檢閱選取項目 檢閱變更
適用於 Visual Studio Code Visual Studio Code 與 GitHub 網站
高級/標準功能 所有 GitHub Copilot 訂閱者皆可使用標準功能 進階功能。 隨 GitHub Copilot Pro、GitHub Copilot Pro+、GitHub Copilot Business 及 GitHub Copilot Enterprise 方案提供。 每人每月配額適用。
說明 對醒目提示的程式碼區段進行初步檢閱,並提供意見反應和建議 更深入檢閱所有變更
語言支援 全部 C、C#、C++、Go、Java、JavaScript、Kotlin、Markdown、Python、Ruby、Swift、TypeScript。
自訂編碼指引支援 是的

每月程式碼檢閱配額

GitHub Copilot 程式碼審查的審查變更類型是高級功能,並設有每人每月限額。 目前配額仍然有效。

當你指派 GitHub Copilot 作為拉取請求的審查者時,每次 GitHub Copilot 對拉取請求發表評論時,都會從你的每月配額中扣除一個高級請求。

如果倉庫設定自動向 GitHub Copilot 請求所有新拉取請求的程式碼審查,則高級請求的使用量會套用到拉取請求作者的配額上。 如果 pull request 是由 GitHub Actions 或機器人建立,使用權將適用於觸發該工作流程的使用者(若可識別),或是指定的帳單擁有者。

當達到每月配額時,除非升級 GitHub Copilot 方案或啟用更多進階請求,否則您將無法從 GitHub Copilot 審查程式碼。

警告

GitHub Copilot 並不保證能在 Pull Request 中發現所有問題或狀況,有時還會出錯。 務必仔細驗證 GitHub Copilot 的回饋,並以人工審核補充 GitHub Copilot 的回饋。

使用程式代碼檢閱功能

GitHub Copilot 可以協助你檢視程式碼,無論是你在編輯器中選擇的程式碼區塊,或是所有 pull request 中包含的變更(需要 GitHub Pull Requests 擴充功能)。

在程式代碼編輯器中檢閱選取的程式代碼區塊

Review Smart 動作提供一種檢視和分析程式碼的方法。 其可協助您識別改進的領域、建議重構更新,並提供最佳做法的指引。 程式代碼檢閱功能所產生的建議可協助您改善程式代碼的品質、可靠性、效能和安全性。

  1. 在編輯器中開啟程式代碼檔案。

  2. 選取您想要檢閱的程序代碼。

  3. 右鍵點擊選取的程式碼,然後選擇 產生程式碼 > 審查

    程式代碼檢閱代理程式會在 COMMENTS 面板中建立檢閱批注(程式代碼編輯器下方),並在程式碼編輯器中內嵌顯示建議的更新。

    備註

    GitHub Copilot 的 Visual Studio Code 上下文選單正在積極更新中。 檢視智慧動作可能會出現在右鍵選單的頂層(與「解釋」並列),而非「產生程式碼」下方。 如果右鍵選單中沒有 「檢視 」選項,你也可以選擇你的程式碼,並在聊天視窗直接輸入「檢視此程式碼」等提示來執行同樣的操作。

  4. 瀏覽建議,並選擇套用或忽略更新。

    截圖顯示程式碼審查註解,建議程式碼變更差異,以及套用和丟棄按鈕。

    在可能的情況下,Copilot 的回饋會包含建議的程式碼變更。 使用 「申請」和「前往下一 頁」來接受建議,或用 「丟棄」並「前往下一 頁」來拒絕該建議。 套用的變更不會自動提交。

檢閱程式代碼基底的所有變更

GitHub Copilot 程式碼審查功能提供檢視程式碼基底中所有暫存或未暫存變更的方法。 其可協助您識別改進的領域、建議重構更新,並提供最佳做法的指引。 程式代碼檢閱功能所產生的建議可協助您改善程式代碼的品質、可靠性、效能和安全性。

  1. 在 Visual Studio Code 中,切換到原始碼控制檢視。

  2. 若要請求檢視未分階段變更,請將滑鼠指標移至CHANGES,然後選擇 GitHub Copilot程式碼審查 - 未承諾變更按鈕。

     截圖顯示原始碼控制檢視中GitHub Copilot程式碼審查按鈕。

  3. 等 GitHub Copilot 審核你的變更。 這通常需要不到 30 秒的時間。

  4. 如果 GitHub Copilot 有任何評論,會在你的檔案中內嵌顯示,並且在問題分頁中。

    在可能的情況下,Copilot 的回饋會包含建議的程式碼變更。 使用 「申請」和「前往下一 頁」來接受建議,或用 「丟棄」並「前往下一 頁」來拒絕該建議。 套用的變更不會自動提交。

根據程式碼指引自訂程式碼審查

你可以自訂 Copilot 如何審查你的程式碼,加入自訂指令到你的資料庫。 此功能支援審核變更類型的審核。

在檔案 .github/copilot-instructions.md 中指定整個儲存庫的自訂指令。 例如:

When performing a code review, focus on readability and avoid nested ternary operators.
When performing a code review, flag any use of hardcoded credentials.

你也可以在 .github/instructions/**/*.instructions.md 檔案中建立路徑專屬指令,Copilot只在審查符合指定路徑的檔案時使用。

備註

Copilot 程式碼審查只會讀取任何自訂指令檔的前 4,000 個字元。 超過此限制的指示不會影響所產生的評論。

總結

GitHub Copilot 可以審查你的程式碼並提供回饋。 Visual Studio Code 中的 GitHub Copilot 程式碼審查支援兩種審查方式:審查選擇與變更審查。 審查智慧動作提供一種檢視與分析選定程式碼的方法。 其可協助您識別改進的領域、建議重構更新,並提供最佳做法的指引。 GitHub Copilot 程式碼審查功能提供一種使用 Visual Studio Code 的原始碼控制檢視來審查已暫存或未暫存變更的方式。