从 Eclipse RCP 中的另一个插件激活一个插件



我有 2 个插件,当我从菜单启动它们时,它们可以正常工作。但是,我想在单击第一个插件的 UI 上的按钮时启动第二个插件。

我已经按照这里的建议研究了getBundle((.start((方法:https://www.eclipse.org/forums/index.php/t/99869/但它没有产生任何结果。第二个捆绑包在主机上打印时将其捆绑包状态显示为 ACTIVE,但其 UI 不会显示在屏幕上。

任何帮助将不胜感激!

让您的第二个插件提供一个 API,该 API 显示单击按钮时第一个插件可以调用的图形。此 API 可能与调用的单个方法一样简单,它可能类似于您在菜单中使用的代码。

在第二个插件中,将包含 API 的包添加到清单中的"导出包"列表中。MF(在清单中。MF 编辑器,您可以在"导出的包"列表中的"运行时"选项卡上执行此操作(。

在第一个插件中,将第二个插件添加到其依赖项中 - 清单中的"需求捆绑包"列表。MF(在编辑器中,这是"依赖项"选项卡上的"必需插件"(。

我提到了以下帖子:以编程方式显示来自 Eclipse 插件的视图

以下代码终于对我有用:

Display.getDefault().asyncExec(new Runnable() {
    @Override
    public void run() {
       PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView("viewId");
    }
});

最新更新