第 01 模块 · 1 节

Diff 查看器:认真评审 AI 代码

《Orca 进阶实战》01 评审与交付 · 本节时长 24 分钟

定位Orca 的 diff 查看器为「严肃评审 AI 生成的代码」设计——不是扫一眼就合。每个工作树都内置一份相对 start-from ref 的 diff。

核心能力

能力 说明
合并 diff 所有暂存、未暂存、未跟踪文件的组合视图
行号 两侧行号,可开关
图像 diff 二进制图片并排、滑动对比、洋葱皮(onion-skin)模式
HTML 预览 合并 diff 中仍存在的 HTML 段可「Open Preview to the Side」,在侧边浏览器分屏打开
合并冲突 UI 三方视图 + 内联解决
按 hunk / 行暂存 视觉化的 git add -p

对比范围(Scoping)

默认对比 start-from ref。工具栏可以切换对比目标:任意 commit、分支、base ref。

评审多个 Agent 的产出时,切到对应的 base ref 对比最直观。


文件树与换行

  • 文件树:合并 diff 可在 hunk 旁边显示可折叠文件树,拖拽调整宽度(大小跨会话记忆)
  • Word wrap:长行原地折行,宽 diff 无需横向滚动。默认关;用 diff 编辑器头部 菜单或 Settings → General → Diff Word Wrap 切换(两处共享同一设置)

键盘快捷键

动作
j / k 上一个 / 下一个改动文件
n / p 上一个 / 下一个 hunk
F7 / Shift+F7 活动编辑器内上一个 / 下一个改动
s 暂存光标下的 hunk
c 开始一条注释(Annotate AI Diff)

评审节奏建议

  1. 先看文件树:扫一遍改了哪些文件,判断改动范围是否合理
  2. j/k 按文件跳:每个文件整体读,别一上来就陷进某个 hunk
  3. n/p 按 hunk 走:逐块确认逻辑
  4. 可疑处按 c 留注释:下节课的 Annotate AI Diff 会把注释批量发回给 Agent
  5. 图像 diff / HTML 预览:涉及 UI 的改动用可视化方式验证

落地练习:评审一份真实 diff

  1. 让一个 Agent 在某个工作树里改点东西(或直接用你手头的未提交改动)
  2. 打开 diff 视图,确认对比范围是 start-from ref
  3. 用 j/k 与 n/p 完整走一遍所有改动
  4. 打开文件树,试试调整宽度
  5. 临时改个长行文件,体验 Word wrap 开关

怎么判断做对了?——你能说出 j/k、n/p、F7 三组快捷键的分工,并完成一次「按 hunk 逐块评审」。

卡住了怎么办? 对比范围不对就切工具栏;图像 diff 模式在工具栏切换(并排 / 滑动 / 洋葱皮)。


小结

  1. 合并 diff + 两侧行号 + 图像 diff + HTML 预览 + 冲突 UI
  2. 默认对比 start-from ref,可切换任意 ref
  3. 文件树与 Word wrap 提升大 diff 的可读性
  4. j/k 文件级、n/p hunk 级、s 暂存、c 注释

下一节,把批注批量发回给 Agent。