在RCP应用程序中,我们动态加载插件,我们的应用程序可以添加新插件。当我们创建一个新插件时,我们将其加载:

newBundle = Activator.getDefault().getBundleContext().installBundle(location);
newBundle.start(); 

这导致出现一个确认对话框,并带有消息:“安装插件的更改影响了此视角。您想重置此视角以接受这些更改吗?”

是否有任何方法可以摆脱此对话框,因此这里不需要用户干预?

有帮助吗?

解决方案

我简要介绍了该实现,看起来没有一种简单的方法来确保消息不存在。您可以通过查看源代码来找到实现 org.eclipse.ui.internal.WorkbenchPage.suggestReset().

但是,您可能想尝试几件事:

  1. 由于您正在创建一个RCP应用程序,并且大概可以控制用户安装的应用程序,因此您可以使用功能补丁来运送应用程序。 org.eclipse.ui.workbench 插件和覆盖WorkBenchPage的实现方式,以不同的方式实现建议。
  2. 您可以在Eclipse的Bugzilla中为此提出一个错误,然后附上一个补丁。将修复程序分为3.7(尽管时间都用完了)还为时不晚。
  3. 您可以使用带有您需要的行为的Workbenchpage形式更改形式的RCP应用程序。

无论如何,我都建议#2,然后确定#1还是#3是最佳方法,直到您的补丁被接受为止。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top