我正在编写一个eclipse插件,注意文件何时移动或重命名。在eclipse中,当您选择移动或重命名文件时,可能会发生这种情况。有趣的是,在重命名中,例如,eclipse将删除旧文件并创建一个全新的文件。
我可以访问旧文件和新文件:
//grab each new and deleted file
IFile oldFile = resourceParser.getDeletedFiles().get(i);
IFile newFile = resourceParser.getNewFiles().get(i);
问题在于,在某些情况下(例如,重命名包),文件将被移动,文件内容将更改为新包名称。
所以,我需要获得两个文件之间的差异列表。就像我说的,我可以访问两个IFiles(删除的一个和新的),但我想看看它们的内容是如何不同的。是否有某种java diff工具可以生成一个我可以操作的简单变更列表?
答案 0 :(得分:1)
Eclipse org.eclipse.compare
提供了编写diff工具和编辑器的一般机制,这在Eclipse Help中有描述。
Eclipse的Java开发工具部分扩展了对Java的这种比较支持,但是代码在org.eclipse.jdt.ui.internal.ui.compare
包中,它是内部,因此不是Eclipse API的一部分,不应该使用Eclipse API Rules of Engagement