在我需要从Eclipse 4.5.2迁移到Eclipse 4.6.3的自定义插件中, 我使用以下代码访问org.eclipse.ui插件
public class myClass extends Wizard {
...
AbstractUIPlugin plugin = (AbstractUIPlugin) Platform.getPlugin("org.eclipse.ui");
IDialogSettings settings = plugin.getDialogSettings();
IDialogSettings section = workbenchSettings.getSection("myWizard");
if (section == null) {
section = workbenchSettings.addNewSection("myWizard");
}
setDialogSettings(section);
...
}
但是从4.6.0开始,org.eclipse.core.runtime.compatibility
插件已被删除。所以我无法使用Platform.getPlugin()
方法。
我发现有here某人有同等问题却没有回答。 并且我发现there只有在创建者公开单例时我才能访问该插件。
所以我有两个问题:
org.eclipse.ui
插件的单例是否暴露? Platform.getPlugin()
插件的org.eclipse.ui
相当于什么?答案 0 :(得分:4)
void ColaMachine::addMoney(int money) {
//This part doesnt seem to modify the actual value
//Whenever It goes back to the main game loop it doesnt change.
_money += money;
没有等效的API。您可以使用Platform.getPlugin
和Platform.getBundle
获取有关其他插件的有限信息,但这对此没有帮助。
FileLocator.find
插件确实有org.eclipse.ui
方法,但这是在内部包中,因此如果您使用它,则会破坏Eclipse API Rules of Engagement。< / p>
对于对话框设置,标准做法是在您自己的插件上调用UIPlugin.getDefault()
而不是您无法控制的其他插件。