Plugins EclipseRCP:PreferenceStore数据在重启时被删除,这应该会发生吗?

Plugins EclipseRCP:PreferenceStore数据在重启时被删除,这应该会发生吗?,plugins,eclipse-rcp,preferences,Plugins,Eclipse Rcp,Preferences,我的印象是,当我使用AbstractUIPlugin的IPrefrenceStore时,我可以在重启之间保存信息,但事实似乎并非如此 存储一些数据: private IPreferenceStore preferenceStore = FeaturePlugin.getDefault().getPreferenceStore(); preferenceStore.setValue("testKey", "SomeString"); 现在重新启动RCP并尝试恢复存储的信息: private IP

我的印象是,当我使用AbstractUIPlugin的IPrefrenceStore时,我可以在重启之间保存信息,但事实似乎并非如此

存储一些数据:

private IPreferenceStore preferenceStore = FeaturePlugin.getDefault().getPreferenceStore();
preferenceStore.setValue("testKey", "SomeString");
现在重新启动RCP并尝试恢复存储的信息:

private IPreferenceStore preferenceStore = FeaturePlugin.getDefault().getPreferenceStore();
preferenceStore.getLong("testKey")
结果是一个空字符串。这应该发生吗


解决方案:如果在调试应用程序时终止RCP,则不会写入首选项,因为相应插件的stop方法从未执行过。对我来说,这是一个发展中的错误

确实需要保存首选项存储,但如果RCP正确关闭,则应自动保存。因此,重新启动后信息应可用?是,应可用。在workspace.metadata/.plugins/org.eclipse.core.runtime/.settings目录中查找xxx.prefs文件,其中xxx是插件id。这样的文件不存在。这可能是因为作用域以某种方式被设置为实例作用域而不是配置Scrope,因为如果我不重新启动它就会工作吗?配置作用域在安装配置中。实例范围在这里是正确的,并且在工作区中。AbstractUIPlugin始终使用InstanceScope。RCP关闭情况如何?