从 Eclipse RCP 中的另一个插件激活插件
Activate a plugin from another plugin in Eclipse RCP
我有 2 个插件在从菜单启动时可以正常工作。但是,我想在单击第一个插件 UI 上的按钮时启动第二个插件。
我已经按照此处的建议研究了 getBundle().start() 方法:https://www.eclipse.org/forums/index.php/t/99869/ 但它没有产生任何结果。第二个包在控制台上打印时显示其包状态为 ACTIVE,但其 UI 未显示在屏幕上。
如有任何帮助,我们将不胜感激!
让你的第二个插件提供一个 API 来显示点击按钮时第一个插件可以调用的图表。这个 API 可能就像调用一个方法一样简单,它可能类似于您在菜单中使用的代码。
在第二个插件中,将包含 API 的包添加到 MANIFEST.MF 的 'Export-Package' 列表中(在 MANIFEST.MF 编辑器中,您可以在 [= 'Exported Packages' 列表中的 17=] 选项卡)。
在第一个插件中,将第二个插件添加到其依赖项中 - MANIFEST.MF 中的 'Require-Bundle' 列表(在编辑器中,这是 'Dependencies' 中的 'Required Plug-ins'选项卡)。
我参考了以下 post:
Programmatically showing a View from an Eclipse Plug-in
下面的代码终于对我有用了:
Display.getDefault().asyncExec(new Runnable() {
@Override
public void run() {
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView("viewId");
}
});
我有 2 个插件在从菜单启动时可以正常工作。但是,我想在单击第一个插件 UI 上的按钮时启动第二个插件。
我已经按照此处的建议研究了 getBundle().start() 方法:https://www.eclipse.org/forums/index.php/t/99869/ 但它没有产生任何结果。第二个包在控制台上打印时显示其包状态为 ACTIVE,但其 UI 未显示在屏幕上。
如有任何帮助,我们将不胜感激!
让你的第二个插件提供一个 API 来显示点击按钮时第一个插件可以调用的图表。这个 API 可能就像调用一个方法一样简单,它可能类似于您在菜单中使用的代码。
在第二个插件中,将包含 API 的包添加到 MANIFEST.MF 的 'Export-Package' 列表中(在 MANIFEST.MF 编辑器中,您可以在 [= 'Exported Packages' 列表中的 17=] 选项卡)。
在第一个插件中,将第二个插件添加到其依赖项中 - MANIFEST.MF 中的 'Require-Bundle' 列表(在编辑器中,这是 'Dependencies' 中的 'Required Plug-ins'选项卡)。
我参考了以下 post: Programmatically showing a View from an Eclipse Plug-in
下面的代码终于对我有用了:
Display.getDefault().asyncExec(new Runnable() {
@Override
public void run() {
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView("viewId");
}
});