参考博客:https://blog.csdn.net/linuxchyu/article/details/16984737
在eclipse rcp编程中,我们经常会自定义编辑器用于打开自定义的文件,会遇到每次双击文件都打开编辑器的问题,如何解决这个问题呢,我所知道的有两种方法:
方法一:重写Editor对应的IEditorInput中的equals方法,确保Editor的唯一性
@Override
public boolean equals(Object obj) {
if(null == obj)
return false;
if(!(obj instanceof TopologyEditorInput))
return false;
if(!getName().equals(((TopologyEditorInput)obj).getName()))
return false;
return true;
}
这个方法可以解决双击文件打开编译器的问题,但是我发现在新建文件时默认打开编译器后,在此双击文件也会打开编辑器,所以这个方法不太完美
方法二:重写Editor对应的IEditorInput中的equals方法,确保Editor的唯一性
在org.eclipse.ui.editors扩展点中有个matchingStrategy的元素,可以实现IEditorMat