这可能是一个奇怪的问题,但是......我怎么能从代码中知道'激活新事件'属性值,当出现错误时,会弹出错误日志视图?我正在使用RCP应用程序。
我尝试使用此
"."
甚至这个:
IPreferenceStore store = new ScopedPreferenceStore(InstanceScope.INSTANCE, "org.eclipse.ui.views.log");
Boolean activateOnNewEvents = store.getBoolean("activate");
但问题是当我关闭并重新打开Eclipse /产品时,我只能得到正确的值。如果我从错误日志查看右上方菜单(从UI)更改值,我的代码仍会返回旧值,直到重新启动,所以我只在关闭eclipse / rcp时才会猜测,新属性值是存储的在偏好中。
编辑:
所以我发现这个偏好值来自' org.eclipse.ui.logs.view.prefs'没有检索到正确的信息。当用户更改"激活新事件时,它不会更新"错误日志菜单中的值。所以问题是: 如何确定用户何时点击"激活新事件"并检查/取消选中此值?
答案 0 :(得分:0)
这些代码片段只会为您提供当前设置,如果更改了首选项,则不会更新。
对于IPreferenceStore
方法,您可以使用addPropertyChangeListener
调用向首选项存储添加侦听器,只要首选项发生更改,就会调用该侦听器。
在IPropertyChangeListener
中,您可以检查您有兴趣更改的密钥:
public void propertyChange(PropertyChangeEvent event) {
String key = event.getProperty();
if (key.equals(""activate"") {
// TODO get the new value from the preference store
}
}