代码评审时,一次性对比整个目录的改动,是不少开发者的刚需。
当我们用git difftool查看大批量文件变更,旧版Zed打开目录对比视图,只能在单一面板浏览所有差异,没办法切成分栏视图。单面板来回滚动查看左右版本,眼睛来回扫视,很容易看混新旧代码,对比体验大打折扣。
Zed 屯对也遇到了这个问题,于是给zed --diff目录对比 加上分栏能力。当左右两边是文件夹时,可以开启分割Diff视图,直接复用Zed早已成熟的单文件分栏Diff组件。不管是Git Difftool,还是jj版本管理工具调用zed --diff,目录级代码对比,都能和单文件Diff保持完全一致的交互体验。
下面来做个对比就可以直观感受这种癌变带来的体验升级
以前是这样的

现在是这样的

在右上角,你仍然可以像单文件diff一样切换视图

简单来说,之前Zed只支持单个文件左右分栏对比;现在打开整个目录的批量变更,同样可以切左右分屏,旧版本在左、新版本在右,并排浏览目录下所有改动。统一的交互逻辑,不用学习两套操作方式,目录对比不再憋屈。
再来看VS Code。VS Code内置diff最早只支持单个文件分栏对比,原生并不支持一次性打开整个目录做全局分目录对比。
后来在2023年1.86的时候才支持多文件diff

这样看起来2者的设计还是很相似的
这个功能不是炸裂黑科技,但对做代码评审、大版本合并的开发者来说,体验提升实实在在。当一次提交改动几十个文件,打开目录分栏diff,左右并排浏览,不用反复切换文件,减少认知负担。