以编程方式利用 Eclipse 的合并和差异查看器

Posted

技术标签:

【中文标题】以编程方式利用 Eclipse 的合并和差异查看器【英文标题】:Programmatically make use of eclipse's merge and diff viewers 【发布时间】:2010-12-18 23:59:10 【问题描述】:

当 Bazaar(和许多其他 dvcs)中发生文本冲突时,会生成 .BASE、.THIS 和 .OTHER 文件。然后由用户使用 3 路合并工具来合并冲突,然后将其标记为已解决。

我想在 Eclipse 中获取所有已注册的合并查看器,并为用户提供一个选项以将冲突与其中任何一个合并。 (TextMergeViewer 是默认选项)。我怀疑我需要一些如何以编程方式向这些合并查看器提供 3 个文件,并且可能编写一些自定义代码来包装 BASE、THIS 和其他文件,以告诉合并查看器差异在哪里。 (解释“人字形”标记,如<<<<<<<.等)

【问题讨论】:

【参考方案1】:

不完全是答案,但至少有一些起点:

您可以尝试使用Plug-in Spy(eclipse3.5 直接提供)查看当前比较查看器的代码

(来源:eclipse.org)

(ALT+SHIFT+F1)

大部分的eclipse源也是available here。 例如,org.eclipse.compare.CompareUI 是一个开始。

一旦您对比较机制作为插件的工作原理有了基本的了解,您就可以编写一个fragment(也称为illustrated here)来扩展当前的比较插件。

【讨论】:

谢谢,向我指出 CompareUI 类的帮助。还有外挂spy以后一定会帮到我的。

以上是关于以编程方式利用 Eclipse 的合并和差异查看器的主要内容,如果未能解决你的问题,请参考以下文章

添加日期选择器以编程方式查看?

C# 中的程序化 XML 差异/合并

Android:以编程方式从数组创建微调器

无论如何要在 Eclipse 中使用带有 EGit 的外部差异编辑器?

Win 10中使用图片查看器

Eclipse 版本之间的差异