在 RCP 应用程序中使用来自不同插件的现有透视图
Use existing perspective from a different plugin in RCP application
这是我们拥有的:
- 具有 IPerspectiveFactory 实现和 org.eclipse.ui.perspectives 扩展的插件。如果我们在从这个插件的 MANIFEST.MF.
启动的 Eclipse window 中打开透视图,这会很好地工作
- 一个 Eclipse 4 应用程序项目(在不同的 Eclipse 项目中)
我试图通过向 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 会更简单。
这是我们拥有的:
- 具有 IPerspectiveFactory 实现和 org.eclipse.ui.perspectives 扩展的插件。如果我们在从这个插件的 MANIFEST.MF. 启动的 Eclipse window 中打开透视图,这会很好地工作
- 一个 Eclipse 4 应用程序项目(在不同的 Eclipse 项目中)
我试图通过向 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 会更简单。