如何使RCP应用程序每次打开都显示Welcome页面

时间:2023-01-18 21:43:35

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

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

如何使RCP应用程序每次打开都显示Welcome页面 

在ApplicationWorkbenchWindowAdvisor中增加方法:

隐藏行号 复制代码 Source
  1. @Override
  2. publicvoidpostWindowClose() {
  3. super.postWindowClose();
  4. PrefUtil.getAPIPreferenceStore().setValue(
  5. IWorkbenchPreferenceConstants.SHOW_INTRO,true);
  6. PrefUtil.saveAPIPrefs();
  7. }

 

搞定,以后每次启动都会有Welcome页面了~