Eclipse 插件:Link 带有导航器的 MulitPageEditorPart

Eclipse Plugin: Link MulitPageEditorPart with Navigator

在 Eclipse 插件中,我有一个 MultiPageEditorPart 的实现,它与一个文件扩展名相关联——我们称它为 f

当我在标准包资源管理器中单击文件 f 时,编辑器会打开。到目前为止效果很好。

但不起作用的是将此编辑器与包资源管理器链接。假设某人有多个打开的编辑器,其中之一是自定义 MultiPageEditorPart。如果通过选项卡(不是包资源管理器)选择自定义编辑器,则应选择/标记包资源管理器中的相应文件。

按照 "link with editor" for FormEditor 中的示例,我尝试使用 ILinkHelper 和扩展点 org.eclipse.ui.navigator.LinkHelper 来实现此目的,但它从未被调用。

ILinkHelper如何与MultiPageEditorPart一起使用?

PS:我正在使用 Eclipse Oxygen

MulitpageEditorPart(和其他编辑器)有一个 IEditorInput 拥有一个方法

<T> T getAdapter(Class<T> adapter)

如果使用 IResource.classIFile.class 调用此方法,它应该 return 作为当前编辑器源的 IResource。然后 Eclipse 将其用于 link 带有视图的编辑器(Package Explorer)。

像这样:

<T> T getAdapter(Class<T> adapter) {
   if (IResource.class.isAssignableFrom(adapter) {
       return (T) myFile;
   }
}