Diff 查看器
DevAgent 的 diff 查看器专为认真审查 AI 生成的代码而设计——而不是随便瞟一眼。每个 worktree 都内置了一份针对其起始 ref 的 diff。
特性
- 组合 diff——横跨所有已暂存、未暂存和未跟踪的文件。
- 行号——两侧都有,可切换显示。
- 图片 diff——对二进制图片提供并排、滑动(swipe)和洋葱皮(onion-skin)模式。
- HTML 预览——在 View all / 组合 diff 中,工作树里仍然存在的 HTML 区块会在始终可见的“打开文件”控件旁边显示 Open Preview to the Side(眼睛图标)。预览会在侧边浏览器分屏中打开工作树里的 HTML。已删除的 HTML 以及仅存在于 commit 中的组合面会跳过这个眼睛图标。
- 合并冲突 UI——提供三方视图和行内解决。
- 按 hunk 或按行暂存——效果与
git add -p相同,但是可视化的。
范围界定
diff 默认展示相对 worktree 起始 ref 的改动。你可以从 diff 工具栏切换为与任意 commit、分支或 base ref 进行对比。
自动换行
当 diff 自动换行开启时,长行会就地折行,这样宽 diff 就能自上而下阅读,无需水平滚动。它默认关闭。可以从 diff 编辑器头部的 ⋯ 操作菜单切换 Word Wrap,或者在 设置 → 常规 → Diff Word Wrap 下设置全局默认值。两个控件共享同一个设置——从编辑器切换会在所有地方一并翻转。
文件树
组合 diff 可以在各 hunk 旁边显示一个可折叠的文件树。拖动文件树的调整手柄(或在手柄上用方向键;按住 Shift 可加大步长)来设置宽度——该尺寸会在多个会话之间被记住。可以从组合 diff 工具栏折叠或显示这棵树。
键盘快捷键
j/k——下一个 / 上一个已改动文件。n/p——下一个 / 上一个 hunk。F7/Shift+F7——当前活跃编辑器中的下一个 / 上一个改动。s——暂存光标所在的 hunk。c——开始一条评论(Annotate AI Diff)。