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