使用PrefUtil设置全局配置

it2024-11-04  24

RCP开发中,很多开发人员都希望,自己的RCP应有Welcome页面,因此我们配置了intro扩展点以及introconfig扩展点,也写 了xml文件,这样我们就有了Welcome页面。但是Welcome只有在RCP应用程序第一次运行时才会显示,以后都不会显示。 为什么会这样? 看看插件运行时环境中的.metadata/.plugins/org.eclipse.core.runtime/.settings目录下的org.eclipse.ui.prefs文件中的内容:

PrefUtil.getAPIPreferenceStore().setValue( IWorkbenchPreferenceConstants.SHOW_INTRO, false); PrefUtil.saveAPIPrefs(); 第一次运行以后就会产生此文件,内容中就定义了showIntro=false,为了测试,我们修改了showIntro=true,再此运行Welcome再次出现,但是org.eclipse.ui.prefs文件被更新,内容被修改。 一定是Eclipse在运行后对org.eclipse.ui.prefs进行了修改,知道这个就好好了~我们找到了这句:

 

在ApplicationWorkbenchWindowAdvisor中增加方法:

@Override publicvoidpostWindowClose() { super.postWindowClose(); PrefUtil.getAPIPreferenceStore().setValue( IWorkbenchPreferenceConstants.SHOW_INTRO,true); PrefUtil.saveAPIPrefs(); }

 

IPreferenceStore  Activator.getDefault().getPreferenceStore()  或 PrefUtil.getAPIPreferenceStore();

得到tPreference的存储数据。

PreferenceManager  pm=  window.getWorkbench().getPreferenceManager()

得到tPreference 左边树的信息。这些信息说白了就是Preference扩展点的信息。

 

参考:

http://blog.csdn.net/zfinch/article/details/5862986

http://lizhensan.iteye.com/blog/1124401 http://www.vogella.de/articles/EclipsePreferences/article.html  

转载于:https://www.cnblogs.com/wuhenke/archive/2012/03/29/2423175.html

最新回复(0)