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.class
或 IFile.class
调用此方法,它应该 return 作为当前编辑器源的 IResource。然后 Eclipse 将其用于 link 带有视图的编辑器(Package Explorer)。
像这样:
<T> T getAdapter(Class<T> adapter) {
if (IResource.class.isAssignableFrom(adapter) {
return (T) myFile;
}
}
在 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.class
或 IFile.class
调用此方法,它应该 return 作为当前编辑器源的 IResource。然后 Eclipse 将其用于 link 带有视图的编辑器(Package Explorer)。
像这样:
<T> T getAdapter(Class<T> adapter) {
if (IResource.class.isAssignableFrom(adapter) {
return (T) myFile;
}
}