0

我使用 Eclipse 扩展点“org.eclipse.ui.editors”注册了一个自定义编辑器,如下所示。

<extension
     point="org.eclipse.ui.editors">
     <editor 
            class="com.xxx.designer.scxml.ui.ScxmlDiagramEditor" 
            id="com.xxx.designer.scxml.ui.ScxmlDiagramEditor"
            extensions="scdiagram"
            name="SCXML Editor">
</editor>

它工作正常,这个编辑器与 .scdiagram 文件相关联。但是,每次我单击一个相同的 .scdiagram 文件时,它都会为我打开一个新实例,而不是突出显示打开的文件。对此有任何想法吗?

谢谢,

4

2 回答 2

3

您需要做的就是让IEditorInput相同文件的返回为真。您可以通过比较文件的规范名称来实现这一点。不要忘记也覆盖 hashCode() 方法。在 Java 中覆盖 equals 和 hashCode 时应该考虑哪些问题?

有关使用编辑器的更多详细信息,请参阅 Lars Vogel 的优秀教程Eclipse Editor Plugin Tutorial

于 2012-05-21T20:32:50.980 回答
2

这是我的问题最终得到解决的方法。它与Graphiti相关,解决方案也与框架相关联。

由于我继承了 Graphiti 的图表编辑器,所以我需要做的就是在 plugin.xml 中设置 org.eclipse.graphiti.ui.editor.DiagramEditorMatchingStrategy 作为编辑器的匹配策略。

于 2012-06-13T14:51:36.600 回答