如何在Eclipse中区分同一文件的两个区域

时间:2010-05-12 10:56:19

标签: eclipse diff extract refactoring

我是TDDer,经常需要重构常见或类似的代码。类似的代码并不总是复制和粘贴的结果。

我不是在寻找识别区域或可疑重复的工具,有很多工具可以做到这一点。如果代码完全相同没有大问题,Eclipse几乎总能自己做到这一点。

我正在寻找工具来可视化完全不同的代码部分的差异,但我的人眼可以看到结构上的相似性,并且可能更加相似,以便最终可以将公共代码考虑在内。

如果有可能标记两个区域并获得Eclipse(或其他工具)来标记差异,那将非常方便。通过这些信息,迭代地移动区域直到它们相同然后激活提取方法重构将更加简单。

当然可以在Emacs中完成,但我想从Eclipse中随时可以获得。有什么指针吗?

2 个答案:

答案 0 :(得分:1)

似乎有一些有用的答案in this question,这个问题表达了同样的需要。但是,这些答案再次集中在发现重复,而不是对其进行虚拟化。

两条有用的建议是KDiff3Diffuse。两者都允许您打开相同的文件两次或粘贴窗格中的不同部分。似乎没有办法从Eclipse中使用它们。

答案 1 :(得分:0)

我不知道在eclipse中标记区域和区分它们的方法,但你可以区分两个文件。通过这种方式,你可以通过在两个粘贴文件中复制想要差异的部分来获得你想要的东西,至少90%?

在项目树中选择要扩散的两个文件,然后右键单击 - >选择比较 - >彼此。

欢呼声, 耶尔