我使用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文件时,它都会为我打开一个新实例,而不是突出显示打开的文件。对此有何想法?
谢谢,
洁
答案 0 :(得分:3)
您需要做的就是让IEditorInput
对于相同的文件返回true。您可以通过比较文件的规范名称来实现此目的。不要忘记也覆盖hashCode()方法。 What issues should be considered when overriding equals and hashCode in Java?
有关使用编辑器的更多详细信息,请参阅Lars Vogel的优秀教程Eclipse Editor Plugin Tutorial。
答案 1 :(得分:2)
以下是我的问题最终得到解决的方法。它与Graphiti有关,解决方案也与框架有关。
由于我将Graphiti的图编辑器子类化,我需要做的就是将org.eclipse.graphiti.ui.editor.DiagramEditorMatchingStrategy设置为plugin.xml中编辑器的匹配策略。