【最后更新:2013-8-20】
TODO:添加更多用法。
BeyondCompare是什么
BeyondCompare是个专业级别的文件对比类工具。
其是收费软件,不过,在中国,也都是盗版满天飞,所以。。。你懂的。
其主页:
http://www.scootersoftware.com/
BeyondCompare特性
对比功能,很强大;
不同的颜色,显示出不同类型的内容,很方便人类查看出异同;
而且也支持,只查看相同内容,只查看不同内容,查看不同内容时显示附近的上下文,等等高级特性;
支持多种对比属性:
二进制比较,文件修改时间比较等等;
支持自定义过滤规则:比如,设置过滤掉CSV文件夹,.svn文件夹等等。
支持多种格式:除了文本类的(包括代码),还支持其他的,比如二进制等;
最新版本,还支持Word等文件的对比。
BeyondCompare用法举例+配置说明
下面说说,在平常使用过程中,我一般用BeyondCompare来干什么:
合并内容
比如,我之前写了点新的内容,然后现在要把新的内容,更合合并到旧的文件夹(下面的文件)中去,就是:
右击包含新内容的文件夹,选择“选择左侧文件夹来比较”:
然后再去右击旧的文件夹,选择“和 xxx 比较”:
就可以打开BeyondCompare软件了,自动把新的内容作为左侧窗口,把旧的内容,作为右边窗口。
然后再选择左边,新的内容,一堆的文件,然后点击上面的向右的箭头,以便拷贝到右边去:
其会弹出对话框让你确认,点击“开始”即可:
去复制过去。
支持多种不同的比较模式:显示所有,显示差异项,显示相同项
再换个比较的内容,默认的,“显示所有”,比较出来的效果如下:
然后如果点击的是“显示差异项”,那么只显示出不同的部分(其余相同的就不显示了):
另外,点击显示“显示相同项”,则只显示出相同的内容:
注意到,其中有个不一样的,也显示了,那是因为,该文件夹下面,有相同的内容,所以也算在“相同的部分”中的。
比较单个(文本)文件
比如,对于上述那个有不同的csharp_summary/src文件夹,双击某个有差异文件:
就可以弹出对应的比较(Tab)窗口:
其中可见,左边有一列,都是红色,说明有对应着不同内容的地方。
然后,如果只想要看,不同的行,则可以点击对应的“显示差异项”,就可以只显示出不同的行了:
当然,很多人会觉得,此时,又觉得看不来不是太清楚,觉得缺少了相关的上下文,内容上,看的不是很清楚
则,可以再点击那个“显示上下文”,就可以显示出来,不同行所在的上下相关的内容了:
此时,对于不同的行的内容,就更加容易看清楚了。
文件对比的配置
有时候,我们需要对于,不同的文件对比,设置不同配置,以达到自己的目的。
我之前常用的,至少就包括:
只比较二进制
点击“文件过滤器”:
弹出配置对话框,然后比如我想要排除有些类型的文件以及文件夹,比如:
对于常见的,旧版本的TortoiseSVN会产生的那个.svn文件夹,
以及很多常见的.bak的备份文件,
都想要忽略掉,那么就可以如此设置:
即可。
其中,在保存配置时,默认是针对于当前这次文件比较,所以是“仅更新此视图”,如果想要以后的比较,都用此配置,那么可以选择对应的“也更新会话默认值”:
不比较文件时间以及二进制级别的比较
对于文件比较的模式,个人比较常用的是:
不比较文件时间,比较文件内容,且以二进制模式去比较:
设置此种选项的背景是:
很多时候,搞软件开发的话,比较代码,可能代码内容是一样的,但是文件的修改时间不同,所以取消文件修改时间。
另外,之前遇到一个现象,比较的两个文件,内容几乎全部相同,但只是有一个数字改变了,而之前如果不选择二进制比较的话,往往很难发现文件是有差异的,所以,后来还是多数都用二进制去比较,以避免此问题。
其中需要注意的是:
当比较的文件太多内容太大时(比如比较Linux内核源码之类的),要是选择了二进制比较,那么比较速度就很慢了。所以还是自己根据自己的情况去权衡。
其他的用法,有空再整理。