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();
-
一定是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