评审
代码评审
在 ChatGPT 和 Codex 客户端中评审代码更改
ChatGPT 桌面应用
使用 ChatGPT 或 Codex 了解代码更改、排查潜在问题, 并准备评审反馈。
PR评审
Code Review 插件会显示PR的描述、变更文件、 评论和检查结果。使用它在批准前排查潜在问题。
GitHub 代码评审已正式推出。Code Review 对 GitLab 合并请求的支持
目前处于预览阶段。要通过 GitLab 使用
@codex review 或自动合并请求评审触发云端评审,请参阅
使用 Codex 评审 GitLab 合并请求。
有关由仓库触发的评审,请参阅 GitHub 集成 指南和 Codex Cloud (Legacy) 环境 设置。
桌面应用内置了 Code Review。你可以从已安装的插件中 将它置顶到应用侧边栏。
查看PR
- 从侧边栏打开 Code Review。
- 根据提示连接你的代码托管账号。请使用有权访问 待评审仓库的账号。
- 从侧边栏选择一个PR,或在搜索框中输入其链接。
- 查看摘要,了解描述、动态、评论和检查结果。打开 变更,对照差异查看变更文件和评论。
查找需要关注的评审
使用个人收件箱查找各个仓库中的 GitHub PR。 选择分配给我 查看请求你评审的内容,选择分配给我的 团队 查看团队收到的请求,或选择由我创建 返回你自己的变更。 查看评审状态,然后打开PR,检查反馈和检查结果。
要稍后返回某项评审,请选择其工具栏中的置顶图标。该PR 会显示在侧边栏的已置顶 下。
检查变更文件和相关PR
在变更 中,评审完文件后,选择该文件上的标记为已查看。再次选择 此控件即可清除标记。已查看标记仅适用于当前显示的 修订版本。
对于分散在相互依赖的PR中的变更,使用摘要 中的堆栈 打开相关PR,检查其差异、评论和检查结果。 当 Code Review 发现一组尚未关闭的堆栈式PR时,会显示此部分。
查看自动云端评审
连接 ChatGPT Codex 连接器、授予所需的仓库权限并启用自动 评审后,Codex 就可以在你打开 GitHub PR之前对其进行评审。 评论会显示在 GitHub 和 Code Review 中。
云端评审无需你创建或管理云端环境。
有关连接要求、仓库设置以及通过
@codex review 触发的评审,请参阅在 GitHub 中使用 Codex。
对照差异核查评审发现。自动云端评审与 你在PR聊天中发起的评审相互独立。
针对变更提问
在PR的聊天中,描述预期行为,并让 Codex 解释或调查这项变更。
选择使用 Codex 评审,在新聊天中开始评审。如果你正在现有聊天旁 查看PR,可以在该聊天中针对变更提问。
使用已安装的技能和已连接的数据源,向 Codex 提供团队的评审 指南或设计文档。让它总结变更并说明 风险,然后核实它引用的上下文和代码。
例如,某个PR为议题看板添加了未关闭 和已关闭 筛选器。你希望全部 仍为默认选项,并在没有 匹配议题时显示空状态:
Walk me through this pull request. Focus on the default filter and what
happens when there are no matching issues. All should remain the default.要求提供依据:
Show me the code path and tests for the no-matches case. Explain what is
covered and what still needs verification.对照预期行为检查所引用的差异和测试。
选择一项评审发现,在变更 中查看其说明和相关代码行。 先结合最新差异、预期行为和测试进行核查,再决定 是否需要修复。使用评审聊天停止正在运行的评审。
自定义评审
选择使用 Codex 评审 旁的评审指令 齿轮图标。你也可以 在设置 > Code Review 中编辑这些指令。
向 Codex 提供适用于所有评审的标准和报告格式, 例如:
Start with a short summary. Prioritize behavior changes, data loss, and
missing edge-case tests. For each finding, explain the triggering input,
expected behavior, and actual behavior. Use our team's concise review style.这些指令适用于你在各个仓库中通过使用 Codex 评审 发起的 评审。在评审运行期间做出的修改会在下次评审时生效。 针对某项变更的具体问题,请使用PR聊天。
你还可以选择漫画、可视化 或 PDF,添加一条建议 指令,以相应格式解释变更。根据需要编辑文本, 然后选择保存 或运行评审。
分享反馈并跟进
在聊天中评审PR不会发布评论、批准或合并该请求。 由你决定分享哪些评审发现。
确认问题后,让 Codex 帮你起草评审评论:
Using the team review guidelines we discussed, draft a comment describing
the no-matches behavior we verified, what should happen instead, and the test
that would cover it. Keep the comment as a draft.发布前,检查草稿中引用的文件和行号。在准备好之前,将草稿保留在聊天中: 在摘要 或变更 中发布评论,会立即将评论发送到 代码托管平台,无需等待提交评审。
使用提交评审 选择评论、批准 或请求更改, 并将评审发送到代码托管平台。提交前,检查所选结论和 评审评论。
如果你是作者,请返回自己的PR,让 Codex 处理 具体反馈。检查生成的变更,并运行相关测试。 批准或合并前,检查最新修订版本、检查结果和 尚未处理的反馈。
Code Review 不支持编辑附带图片的PR 描述。请在 GitHub 中打开PR,编辑这些描述。
在聊天中继续
当摘要 中显示会话 时,选择其中链接的聊天即可返回该 对话。这些是你与该PR关联的聊天。
在 Codex 中,对尚未关闭的PR,在检查 中选择修复,将失败的 检查附加到聊天中。这会准备一条消息,但不会发送。检查或补充 提示词,然后发送消息,让 Codex 调查。推送修复前,检查生成的 变更并重新运行相关测试。
可用的诊断信息取决于检查提供方。对于第三方 CI, Codex 可以使用上报到 GitHub 的状态和输出。
评审本地变更
Codex 内置的 /review 命令用于评审 Git 工作副本中的变更,而
Code Review 插件用于评审PR。
选择你使用的客户端,查看相应步骤。
在 ChatGPT Work 中,上传要评审的代码,或通过已安装的源代码 插件提供代码。在提示词中说明拉取 请求、分支、提交、文件和评审标准。
在应用中评审
打开评审窗格,了解发生了哪些更改、提供针对具体行的反馈, 并决定要暂存、还原、提交或推送哪些内容。
要让 Codex 评审更改,请在输入框中输入 /review。选择
与基础分支比较评审 或评审未提交的更改。Codex 会报告
按优先级排列的发现,但不会更改工作树。
评审窗格要求项目位于 Git 仓库中。如果项目 还不是 Git 仓库,应用会提示你创建一个。
输入 /review 以打开 CLI 评审预设。Codex 会启动专用评审器,
读取所选差异,并报告按优先级排列且可付诸行动的发现,
而不会更改工作树。
在 IDE 扩展输入框中输入 /review。选择与基础
分支比较评审 或评审未提交的更改。Codex 会报告按优先级排列的发现,
但不会更改工作树。
只有当打开的项目位于 Git
仓库中时,/review 命令才会出现。
选择评审范围
在提示词中指定要检查的PR、分支、提交或文件。要 评审无法通过已安装的源代码插件访问的本地文件,请将其 上传到聊天中。
显示哪些更改
评审窗格反映的是 Git 仓库的状态,而不仅是 Codex 编辑的内容。它包括 Codex 所做的更改、你自己所做的更改,以及 仓库中的所有其他未提交更改。
默认情况下,评审窗格显示未暂存 更改。使用已暂存 查看 Git 索引,使用提交 查看选定提交,使用分支 查看与 基础分支的差异,或使用上一轮 查看最近一次助手响应轮次。
评审多个仓库
当本地项目包含多个文件夹, 且这些文件夹分别由不同 Git 仓库支持时,评审窗格可以显示每个 仓库的更改。打开评审标题栏中的仓库选择器,即可检查 另一个仓库并查看新增或删除的行,无需离开 当前评审窗格。
选择上一轮 可查看助手在所有已附加 仓库中所做的最新更改。在此视图中,仓库选择器会显示所有仓库。其他 评审范围(例如未暂存、已暂存 和分支)适用于你 选择的仓库。
选择以下 /review 范围之一:
- 与基础分支比较评审 会查找合并基点并评审你的分支差异。
- 评审未提交的更改 包括已暂存、未暂存和未跟踪的文件。
- 评审提交 会评审选定提交的确切更改集。
- 自定义评审说明 会按照你提供的标准进行重点评审。
选择以下 /review 范围之一:
- 与基础分支比较评审 会将当前分支与所选分支进行比较。
- 评审未提交的更改 会评审工作树中的更改。
处理评审结果
评审发现会显示在网页聊天中。你可以要求提供证据、请求范围 更窄的后续评审,或让 ChatGPT 准备修订后的文件。
代码评审结果
评审发现会以行内注释的形式显示在评审窗格中。
默认情况下,评审在当前聊天中运行。在设置 > 通用 > 代码评审 下,选择独立 以启动单独的评审聊天。请参阅 开发者设置。
评审会作为一轮响应显示在对话记录中。如果希望评审使用不同于当前
会话的模型,请在 config.toml 中设置 review_model。
默认情况下,评审在当前聊天中运行。如果希望 /review
启动单独的评审聊天,请将 chatgpt.reviewDelivery 设为
detached。请参阅 IDE 扩展设置参考。
如果你让 ChatGPT 准备修订后的文件,聊天可用的工具和工作区 权限仍然适用。
如果你让 Codex 应用它发现的修复,你的常规沙箱和批准 设置仍然适用。
浏览评审窗格
- 点击文件名通常会在你选择的编辑器中打开该文件。你 可以在开发者设置中选择默认编辑器。
- 点击文件名的背景区域可展开或折叠差异。
- 按住 Command 并点击某一行,会在你选择的编辑器中打开该行。
- 如果你对某项变更满意,可以暂存该变更或撤销不需要的变更。
使用行内注释提供反馈
行内注释可让你将反馈直接附加到差异中的特定行。 这通常是引导 Codex 找到正确修复方法的最快方式。
要留下行内注释:
- 打开评审窗格。
- 将鼠标悬停在要评论的行上。
- 选择出现的 + 按钮。
- 编写并提交反馈。
- 留完反馈后,向聊天发送一条消息。
由于注释针对具体行,与一般性说明相比,Codex 可以作出 更精确的响应。
Codex 将行内注释视为评审指导。留下注释后,请发送一条 明确说明意图的后续消息,例如:“处理行内注释,并将更改范围保持在最低限度。”
暂存和还原文件
评审窗格包含 Git 操作,供你在提交前调整 差异。
你可以在以下级别暂存、取消暂存或还原更改:
- 整个差异:使用评审标题栏中的操作按钮,例如全部暂存 或全部还原。
- 按文件:暂存、取消暂存或还原单个文件。
- 按区块:暂存、取消暂存或还原单个区块。
要接受部分工作时使用暂存;要丢弃更改时使用 还原。
已暂存和未暂存状态
Git 可以在同一文件中同时表示已暂存和未暂存的更改。发生这种 情况时,该窗格可能会在两个视图中显示同一文件。这是正常的 Git 行为。