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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步