在 RCP 应用程序中使用来自不同插件的现有透视图

Use existing perspective from a different plugin in RCP application

这是我们拥有的:

我试图通过向 Application.e4xmi 中的 Eclipse 4 应用程序项目的 PerspectiveStack 添加一个透视图来使用现有的透视图。这只会导致空 window.

我的下一个猜测是从 Application.e4xmi 中重新定义现有的透视图,并使用它们的 Class URI 添加现有的 ViewPart(例如 bundleclass://org.example.myplugin/org.example.myplugin.views.SettingsView).然而,这导致几乎是空的 window(分隔符等是可见的),没有我想要的 ViewPart。我还收到以下形式的错误: “(org.example.myproduct.abc:24070):GLib-CRITICAL **:尝试删除时未找到源 ID 912”

我最后一次尝试是将我的 IPerspectiveFactory 实现文件夹复制到应用程序项目中,但随后我收到错误消息,声称 IPerspectiveFactory 等不是 API(尽管我很确定我添加了相同的依赖项就像在我的插件中一样)。

我错过了什么?

Eclipse 3.x 风格的插件(任何使用 'org.eclipse.ui.xxxx' 插件或扩展点的插件)在纯 e4 RCP 中不起作用。这是因为 e4 省略了许多旧的 3.x 兼容性代码以使 RCP 更简单。

因此,如果您的时间很短,坚持编写 3.x 风格的 RCP 会更简单。