Java EclipseRCP相互比较命令
我正在开发一个构建在3.x上的EclipseRCP应用程序,它已经被软性地合并到4.x中 我希望在我创建的目录视图中添加类似于PackageExplorer中的“相互比较”菜单项。Eclipse提供的命令中没有用于此操作的选项。在浏览一些Eclipse代码时,他们所采用的方法是通过org.Eclipse.ui.popupmones扩展使用objectContribution,但这种方法已被弃用Java EclipseRCP相互比较命令,java,eclipse,eclipse-rcp,Java,Eclipse,Eclipse Rcp,我正在开发一个构建在3.x上的EclipseRCP应用程序,它已经被软性地合并到4.x中 我希望在我创建的目录视图中添加类似于PackageExplorer中的“相互比较”菜单项。Eclipse提供的命令中没有用于此操作的选项。在浏览一些Eclipse代码时,他们所采用的方法是通过org.Eclipse.ui.popupmones扩展使用objectContribution,但这种方法已被弃用 这是否意味着我必须实现一个与“从头开始”的比较?您现在使用指向popupMenu位置的位置URI来提供
这是否意味着我必须实现一个与“从头开始”的比较?您现在使用指向popupMenu位置的位置URI来提供菜单扩展点,而不是提供给popupMenu扩展点
对于实际实现“相互比较”命令的“相互比较”处理程序的代码,如果您有权访问旧代码,您可能可以重用菜单事件的处理,只要您将其连接到新菜单事件。而不是提供popupMenu扩展点,现在,使用指向popupMenu位置的位置URI为菜单扩展点添加内容
对于实际实现Compare with ather命令的Compare with ather处理程序的代码,如果您有权访问旧代码,您可能可以重用对菜单事件的处理,如果您将其连接到新菜单事件。查看比较操作
org.eclipse.compare.internal.CompareAction
它使用CompareUI.opencompareEditorPage
,这是一个定义的API,因此可以使用。使用的比较编辑器输入是org.eclipse.compare.internal.ResourceCompareInput
,它是内部的,但似乎不使用任何其他内部类-因此您可以编写自己版本的ResourceCompareInput
,而无需太多麻烦。查看比较操作org.eclipse.compare.internal.CompareAction
它使用CompareUI.openCompareEditorOnPage
这是一个定义的API,因此可以使用。所使用的比较编辑器输入是org.eclipse.compare.internal.ResourceCompareInput
,它是内部的,但似乎不使用任何其他内部类-因此您可以编写自己版本的ResourceCompareInput
,而不会遇到太多麻烦。我知道如何创建弹出菜单。我的问题更多的是关于package explorer上下文菜单中可用的“相互比较”菜单项。如果有,那么您只需要找到实现侦听上下文菜单的菜单侦听器的代码,以及查找它将请求分派到哪里。该接收处理程序具有代码,并且可能会提供您正在寻找的大部分内容;然而,如果您甚至有一个稍微“不同于现有内容”的需求,那么在查看该处理程序之前,您可能无法确定什么是可重用的。可能是一个简单的调整,也可能不是。该操作位于Eclipse的一个内部类中。因此,这意味着我可能必须编写自己的与编辑器的比较。我知道如何为弹出菜单做出贡献。我的问题更多的是关于package explorer上下文菜单中可用的“相互比较”菜单项。如果有,那么您只需要找到实现侦听上下文菜单的菜单侦听器的代码,以及查找它将请求分派到哪里。该接收处理程序具有代码,并且可能会提供您正在寻找的大部分内容;然而,如果您甚至有一个稍微“不同于现有内容”的需求,那么在查看该处理程序之前,您可能无法确定什么是可重用的。可能是一个简单的调整,也可能不是。该操作位于Eclipse的一个内部类中。因此,这意味着我可能必须编写自己的与编辑器的比较。