繁體中文

程式碼審查

程式碼審查

在 ChatGPT 和 Codex 客戶端中審查程式碼更改

使用 ChatGPT 或 Codex 檢查程式碼更改,然後再提交或推送。

開始審查

在 ChatGPT Work 中,上傳要審查的程式碼,或通過已安裝的源程式碼 外掛提供程式碼。在提示詞中說明拉取 請求、分支、提交、檔案和審查標準。

在應用中審查

開啟審查窗格,瞭解發生了哪些更改、提供針對具體行的回饋, 並決定要暫存、還原、提交或推送哪些內容。

要讓 Codex 審查更改,請在編輯器中輸入 /review。選擇 與基礎分支比較審查審查未提交的更改。Codex 會報告 按優先順序排列的發現,但不會更改工作樹。

審查窗格要求專案位於 Git 儲存庫中。如果專案 還不是 Git 儲存庫,應用會提示你建立一個。

輸入 /review 以開啟 CLI 審查預設。Codex 會啟動專用審查器, 讀取所選差異,並報告按優先順序排列且可付諸行動的發現, 而不會更改工作樹。

在 IDE 擴充套件編輯器中輸入 /review。選擇與基礎 分支比較審查審查未提交的更改。Codex 會報告按優先順序排列的發現, 但不會更改工作樹。

只有當開啟的專案位於 Git 儲存庫中時,/review 命令才會出現。

選擇審查範圍

在提示詞中指定要檢查的拉取請求、分支、提交或檔案。要 審查無法通過已安裝的源程式碼外掛存取的本機檔案,請將其 上傳到聊天中。

顯示哪些更改

審查窗格反映的是 Git 儲存庫的狀態,而不僅是 Codex 編輯的內容。它包括 Codex 所做的更改、你自己所做的更改,以及 儲存庫中的所有其他未提交更改。

預設情況下,審查窗格顯示未暫存更改。使用已暫存檢視 Git 索引,使用提交檢視選定提交,使用分支檢視與 基礎分支的差異,或使用上一輪檢視最近一次助手響應輪次。

審查多個儲存庫

本機專案包含多個資料夾, 且這些資料夾分別由不同 Git 儲存庫支援時,審查窗格可以顯示每個 儲存庫的更改。開啟審查標題欄中的儲存庫選擇器,即可檢查 另一個儲存庫並檢視新增或刪除的行,無需離開 當前審查窗格。

選擇上一輪可檢視助手在所有已附加 儲存庫中所做的最新更改。在此檢視中,儲存庫選擇器會顯示所有儲存庫。其他 審查範圍(例如未暫存已暫存分支)適用於你 選擇的儲存庫。

選擇以下 /review 範圍之一:

  • 與基礎分支比較審查會查詢合並基點並審查你的分支差異。
  • 審查未提交的更改包括已暫存、未暫存和未跟蹤的檔案。
  • 審查提交會審查選定提交的確切更改集。
  • 自定義審查說明會按照你提供的標準進行重點審查。

選擇以下 /review 範圍之一:

  • 與基礎分支比較審查會將當前分支與所選分支進行比較。
  • 審查未提交的更改會審查工作樹中的更改。

處理審查結果

審查發現會顯示在網頁聊天中。你可以要求提供證據、請求範圍 更窄的後續審查,或讓 ChatGPT 準備修訂後的檔案。

程式碼審查結果

審查發現會以行內註釋的形式顯示在審查窗格中。

預設情況下,審查在當前聊天中執行。在設定 > 常規 > 程式碼審查下,選擇分離可啟動單獨的審查聊天。請參閱 開發者設定

審查窗格中顯示的行內程式碼審查註釋

審查會作為一輪響應顯示在對話記錄中。如果希望審查使用不同於當前 會話的模型,請在 config.toml 中設定 review_model

預設情況下,審查在當前聊天中執行。如果希望 /review 啟動單獨的審查聊天,請將 chatgpt.reviewDelivery 設為 detached。請參閱 IDE 擴充套件設定參考

如果你讓 ChatGPT 準備修訂後的檔案,聊天可用的工具和工作區 權限仍然適用。

如果你讓 Codex 應用它發現的修復,你的常規沙箱和核准 設定仍然適用。

瀏覽審查窗格

  • 點選檔名通常會在所選編輯器中開啟該檔案。你 可以在開發者設定中選擇預設編輯器。
  • 點選檔名的背景會展開或摺疊差異。
  • 按住 Cmd 並點選某一行,會在所選編輯器中開啟該行。
  • 如果你認可某項更改,可以將其暫存,或還原不需要的更改

使用行內註釋提供回饋

行內註釋可讓你將回饋直接附加到差異中的特定行。 這通常是引導 Codex 找到正確修復方法的最快方式。

要留下行內註釋:

  1. 開啟審查窗格。
  2. 將滑鼠懸停在要評論的行上。
  3. 選擇出現的 + 按鈕。
  4. 編寫並提交回饋。
  5. 留完回饋後,向聊天傳送一條訊息。

由於註釋針對具體行,與一般性說明相比,Codex 可以作出 更精確的響應。

Codex 將行內註釋視為審查指導。留下注釋後,請傳送一條 明確說明意圖的後續訊息,例如:“處理行內註釋,並將更改範圍保持在最低限度。”

拉取請求審查

當 Codex 擁有儲存庫的 GitHub 存取權限,並且當前專案位於 拉取請求分支時,ChatGPT 桌面應用可幫助你在不離開應用的情況下處理 拉取請求回饋。側邊欄會顯示拉取請求 上下文和審查者的回饋,審查窗格則會在差異旁顯示註釋, 這樣你就能在同一聊天中讓 Codex 處理問題。

安裝 GitHub CLI (gh) 並使用 gh auth login 完成身份驗證,以便 Codex 載入拉取請求上下文、審查註釋和已更改檔案。如果 gh 缺失或未通過身份驗證,拉取請求詳情可能不會顯示在側邊欄 或審查窗格中。

如果你希望在一處完成整個修復迴圈,請使用以下流程:

  1. 在拉取請求分支上開啟審查窗格。
  2. 檢視拉取請求上下文、註釋和已更改檔案。
  3. 讓 Codex 修復你希望處理的特定註釋。
  4. 在審查窗格中檢查生成的差異。
  5. 準備就緒後,將更改暫存、提交並推送到拉取請求分支。

有關由 GitHub 觸發的審查,請參閱在 GitHub 中使用 Codex

暫存和還原檔案

審查窗格包含 Git 操作,供你在提交前調整 差異。

你可以在以下級別暫存、取消暫存或還原更改:

  • 整個差異:使用審查標題欄中的操作按鈕,例如全部暫存全部還原
  • 按檔案:暫存、取消暫存或還原單個檔案。
  • 按區塊:暫存、取消暫存或還原單個區塊。

要接受部分工作時使用暫存;要丟棄更改時使用 還原。

已暫存和未暫存狀態

Git 可以在同一檔案中同時表示已暫存和未暫存的更改。發生這種 情況時,該窗格可能會在兩個檢視中顯示同一檔案。這是正常的 Git 行為。