定位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) |
评审节奏建议
- 先看文件树:扫一遍改了哪些文件,判断改动范围是否合理
- j/k 按文件跳:每个文件整体读,别一上来就陷进某个 hunk
- n/p 按 hunk 走:逐块确认逻辑
- 可疑处按
c留注释:下节课的 Annotate AI Diff 会把注释批量发回给 Agent - 图像 diff / HTML 预览:涉及 UI 的改动用可视化方式验证
落地练习:评审一份真实 diff
- 让一个 Agent 在某个工作树里改点东西(或直接用你手头的未提交改动)
- 打开 diff 视图,确认对比范围是 start-from ref
- 用 j/k 与 n/p 完整走一遍所有改动
- 打开文件树,试试调整宽度
- 临时改个长行文件,体验 Word wrap 开关
怎么判断做对了?——你能说出 j/k、n/p、F7 三组快捷键的分工,并完成一次「按 hunk 逐块评审」。
卡住了怎么办? 对比范围不对就切工具栏;图像 diff 模式在工具栏切换(并排 / 滑动 / 洋葱皮)。
小结
- 合并 diff + 两侧行号 + 图像 diff + HTML 预览 + 冲突 UI
- 默认对比 start-from ref,可切换任意 ref
- 文件树与 Word wrap 提升大 diff 的可读性
- j/k 文件级、n/p hunk 级、s 暂存、c 注释
下一节,把批注批量发回给 Agent。