PreferenceManager过滤

开发RCP的时候会用到PreferenceManager, 但是由于引用了一些插件, 这些插件中也有有PreferenceManager的声明, 如果不想显示这些东西, 可以按照下面的方法做
        PreferenceManager manager  =  window.getWorkbench().getPreferenceManager();
        IPreferenceNode[] nodes 
=  manager.getRootSubNodes();
        
if  (nodes  !=   null {
            
for (IPreferenceNode node : nodes) {
                
if (ExtensionIgnoreRules.isIgnored(node)) {
                    manager.remove(node);
                }

            }

        }

        PreferenceDialog dialog 
=   new  PreferenceDialog(window.getShell(), manager);
        dialog.open();

  ExtensionIgnoreRules.isIgnored(node)这句话的意思就是这个节点是不是忽略掉.
注意这里的节点都是第一层的节点, 节点是一个树状结构, 如果你想忽略一些指定的节点, 相信只是简单的变化一下就可以达到目的了.

你可能感兴趣的:(Eclipse,PlugIn)