在平时开发中,避免不了要对同一个文件的不同版本进行代码差异的对比。比较好用的工具就是Beyond Compare,这个工具可以同时对多个文件或者整个工程代码进行对比,有差异的地方会显示出来。处理完差异后,然后又切换到代码编辑工具上开发。

后来,用惯了AS后发现,对某个文件的不同版本分支的对比使用git的compare功能更方便。具体路径就是,在需要对比的文件中,鼠标右键,选择git,选择子列表下的compare...,有三种compare,可以分别进行对其他分支的这个文件进行对比,或者这个分支的其他提交记录的对比。

git的compare只能针对该工程下的不同分支版本的本文件历史版本的对比,而不能对其他工程或者版本库下的不同的文件进行对比。比如在我的本工程下有个类:

DesktopShortCutManager

另外一个工程有个类叫:

BrowserShortCutManager

这两个类里面的实现其实差不多,想要比较两个类中的差异,一种做法就是使用工具BeyondCompare来对这个两个文件比较,如果想使用git来比较的话,发现行不通,因为BrowserShortCutManager是另外一个工程的,没有在DesktopShortCutManager所在的工程的版本库中,无法比较。于是只能使用AS自带的比较功能了。实际做法是将BrowserShortCutManager这个类拖到DesktopShortCutManager所在的工程窗口中:

如图中所示,左边是本工程里的类文件,右边这个是其他工程拖进来的,鼠标停留在右边这个类文件里,点击AS工具栏的View,选择下拉列表中的compare with(或者在BrowserShortCutManger类中Alt+v快捷键,ctrl+d快捷键),然后就出现了对比文件选择框:

双击相应的要比较的文件,然后就出现了对比框:

对比单个文件算是相当方便了,省了使用Beyond工具的麻烦。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐