介绍

Beyond Compare 4 支持普通文本、代码、十六进制文件、注册表、mp3、图片、版本信息、文件夹、压缩包、整个驱动器、FTP网站等进行比较分析。

强烈推荐,程序员必备工具。

功能

所有功能列表:

下面列出我觉得非常有用的特性。

内容过滤

支持在比较时显示所有内容、差异内容或相同内容。当比较的文件较长而差异间隔很远时,这个功能非常有用。

三路合并

同时支持三路目录与文件合并。

这三路分别是源分支、目标分支、共同祖先三路,结果算最后的输出,这个功能对于版本控制系统中不同分支合并非常有用。 版本控制系统都是基于文本行进行冲突检测与处理,只会按照固定的规则将冲突列出。 而 Beyond Compare 在合并时会自动推断选择正确的版本,只有个别情况需要手动介入处理,可以极大地减少合并处理冲突的工作量。

很多比较软件压根不支持三路合并,因此在解决合并冲突时由于少了一路共同祖先,让人难以判断代码是如何变化的,进而难以合并。

目录比较

可以方便地比较两个目录。可以显式地指定两侧文件的对应关系,不局限于文件名一致,而是可以手动更改这个对应比较关系。

压缩包支持

支持将压缩包显示为目录进行比较。

It handles many popular formats, including tar, gzip, bzip2, Microsoft CAB, WinRAR, and, new to v4 for Windows, Zipx, 7-zip, and IMG/ISO disk images.

从官网的介绍中可以看到支持非常多的压缩文件格式。

这里有一个非常实用的功能:可以将任意扩展名的文件识别为指定格式的压缩文件。在实际使用时经常会将 *.apk *.ipa *.aar *.jar 等等文件设置为 zip 压缩格式,然后直接将文件拖动到软件中即可以开始比较。

跨平台

支持 Windows、macOS、Linux,在不同平台之间保持交互的一致性,减少思维负担。

表格比较

支持以表格的形式比较 Excel、csv 文件。另外还支持配置哪些文件以表格形式比较,如果有类似将 ini 文件的扩展名改为 csv 但又不想使用表格比较时,可以在表格比较中去除 csv 文件。

图片比较

同时显示比较的图片,两张图片的差异显示为反色,可以非常快地了解图片的差异。

十六进制比较

某些情况下需要比较文件的二进制内容,这时候十六进制比较就非常有用,可以轻易地看到哪一个字节有差异。

过滤条件

支持目录过滤时指定包含文件与目录、忽略文件与目录,而且可以使用通配符指定规则。

比较的规则可以设置为会话的默认值,方便后续相同类型的比较。例如在比较 Unity Assets 目录时经常会忽略 *.meta

忽略次要改动

支持忽略注释、空白、换行符、分隔符、正则表达式、大小写、页眉等等。

使用方法

这个软件使用非常简单,做到了开箱即用;但是依然建议在打开软件后将所有选项检查一遍,深入地了解工具特性,为以后提升效率做准备。

第三方软件调用

SVN

Git

Sourcetree 与 Fork 都直接支持在选项中选择 Beyond Compare。

下载