zoukankan      html  css  js  c++  java
  • 使用PrefUtil设置全局配置

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

    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中增加方法:

    1. @Override
    2. publicvoidpostWindowClose() {
    3. super.postWindowClose();
    4. PrefUtil.getAPIPreferenceStore().setValue(
    5. IWorkbenchPreferenceConstants.SHOW_INTRO,true);
    6. PrefUtil.saveAPIPrefs();
    7. }

    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
     


  • 相关阅读:
    2019年计划书单
    redis 分布式锁实现
    filter-grok,dissect匹配数据
    nohup-长期运行进程
    filter
    kill
    watch
    free
    jar
    tree
  • 原文地址:https://www.cnblogs.com/wuhenke/p/2423175.html
Copyright © 2011-2022 走看看