开发RCP的时候会用到PreferenceManager, 但是由于引用了一些插件, 这些插件中也有有PreferenceManager的声明, 如果不想显示这些东西, 可以按照下面的方法做
ExtensionIgnoreRules.isIgnored(node)这句话的意思就是这个节点是不是忽略掉.
注意这里的节点都是第一层的节点, 节点是一个树状结构, 如果你想忽略一些指定的节点, 相信只是简单的变化一下就可以达到目的了.
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();
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)这句话的意思就是这个节点是不是忽略掉.
注意这里的节点都是第一层的节点, 节点是一个树状结构, 如果你想忽略一些指定的节点, 相信只是简单的变化一下就可以达到目的了.