隐藏编辑器不适用于工作台页面

时间:2016-06-08 08:53:39

标签: java eclipse eclipse-plugin eclipse-rcp rcp

我想基于透视切换在我的RCP应用程序中隐藏一些编辑器。我扩展了" PerspectiveAdapter"在重写的方法" perspectiveActivated"中使用IWorkbenchPage.hideEditor(editorReference)尝试隐藏编辑器。我没能成功。后来当我在eclipse源代码中检查hideEditor实现时,只有一行代码" E4Util.unsupported(" hideEditor");",从中我明白eclipse不支持隐藏工作台中的编辑器。

但是在Eclipse kepler release(http://help.eclipse.org/kepler/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fapi%2Forg%2Feclipse%2Fui%2FIWorkbenchPage.html)的帮助文档中,hideEditor的函数描述清楚地提到: -

" void hideEditor(IEditorReference ref) 删除一个打开的编辑器,将其转换为非参与编辑器。 非参与编辑器不会在打开的编辑器列表中返回(getEditorReferences()),并且在编辑器区域中不可见。但是,它将继续参与保存生命周期,并且可能仍会被某些工作台关闭事件关闭。

此时未定义(且不支持)从多个堆栈隐藏和显示编辑器的行为。

参数: ref - 编辑器引用删除。它必须是属于此页面的当前打开编辑器,并且不能为空。"

任何人都可以帮助我解决为什么kepler帮助文档与实际实现之间存在不匹配的原因。另外,如果有人指导上述问题,我将非常感激。

1 个答案:

答案 0 :(得分:1)

Eclipse bug 374132中报告了这一点。 IWorkbenchPage JavaDoc从未更新,但hideEditor不起作用,似乎没有任何修复的前景。

如果您只针对Eclipse 4,那么错误评论确实提到了实现相同结果的可能方法。