【发布时间】:2011-12-19 04:33:12
【问题描述】:
我无法将首选项加载到 Eclipse。如果不先转到首选项页面,我将无法加载首选项的值。 我启动 Eclipse,使用我的插件,我看到该功能未启用。 我启动 Eclipse,进入偏好页面并使用我的插件,一切正常。
我正在尝试使用以下代码从首选项存储中访问启用的值
final IPreferenceStore preferences = new ScopedPreferenceStore(new InstanceScope(), <my plugin id>);
this.enabled = preferences.getBoolean(<templateName>_ENABLE_TEMPLATE"));
此调用转到方法
公共布尔getBoolean(字符串名称){
字符串值 = internalGet(name);
返回值 == 空? BOOLEAN_DEFAULT_DEFAULT : Boolean.valueOf(value)
.booleanValue();
}
internalGet(name) -- 返回 null..结果 this.enabled 设置为 false。
在我的代码中,我检查了这个变量,如果它是假的,我会显示一条错误消息并且不再继续。
我想知道我们如何确保在调用首选项后立即启用/加载它们。
提前致谢!!
【问题讨论】:
-
在您可以从偏好存储中读取值之前,必须有人将值写入其中。我假设首选项页面设置了该值,但是代码中是否还有其他位置存储“
_ENABLE_TEMPLATE”的值?您是否会在每次启动和删除首选项之前清理工作区? -
您好,我正在尝试在首选项页面初始化时(初始化后立即)访问首选项值。这样做对吗?
标签: java eclipse-plugin