我无法将首选项加载到eclipse上。如果没有首先进入首选项页面,我无法加载首选项的值。 我启动eclipse,使用我的插件,我发现该功能未启用。 我开始eclipse,转到首选页面并使用我的插件,一切正常。
我正在尝试使用以下代码
访问首选项存储的启用值final IPreferenceStore preferences = new ScopedPreferenceStore(new InstanceScope(), <my plugin id>);
this.enabled = preferences.getBoolean(<templateName>_ENABLE_TEMPLATE"));
此调用转到方法
public boolean getBoolean(String name){
String value = internalGet(name);
返回值== null? BOOLEAN_DEFAULT_DEFAULT:Boolean.valueOf(value)
.booleanValue();
}
internalGet(name) - 返回null ..结果this.enabled
设置为false
。
在我的代码中我检查这个变量,如果它是假的,我会显示一条错误消息,不再继续。
我想知道我们如何确保首选项在调用后立即启用/加载。
提前致谢!!
答案 0 :(得分:1)
首选项服务在org.eclipse.core.runtime
插件激活时初始化,这意味着您的代码几乎不可能在未初始化状态下访问它。未获得首选项值的原因是该值尚未设置。
还可以使用 preferences.ini 文件指定所有首选项的默认值(应该放在插件/包根目录中)。