2011-08-16 70 views
3

我想知道如何找到Eclipse中现有首选项页面的首选项页面ID。具体来说,我想找出Eclipse中General> Capabilities首选项页面的首选项页面ID。我已经尝试过“org.eclipse.ui.activities.ActivityCategoryPreferencePage”,似乎没有工作。如何找出Eclipse中首选项页面的首选项页面ID?

谢谢!

回答

5

我发现的最简单的方法,假设你有PDE作为你的eclipse安装的一部分,就是使用Plugin-Spy并从那里开始。

打开首选项页面,然后按Alt + Shift + F1。应该出现'Plug-in Selection Spy'对话框。在该对话框中,您可以找到活动页面的贡献插件和类名称。然后转到该插件并查看其plugin.xml以查找ID。

请注意,某些实现可能在查看器类中具有ID作为常量,因此您可以先查看该类的代码,如果不存在,请检查plugin.xml。

干杯

+0

感谢您指引我朝那个方向发展;插件间谍说插件是“org.eclipse.ui.workbench”,而活动页面类是“ActivityCategoryPreferencePage”。但是,该类不包含有关ID的任何信息,org.eclipse.ui.workbench的plugin.xml(仅有几行声明首选项初始化程序类)也不是。 – jtang

+0

尽管您的答案可能适用于大多数插件。 – jtang

+0

在这里,请查看 - http://www.google.com/codesearch#FwbCh_ApCqQ/trunk/Crafting%20Quest/Crafting%20Quest/Crafting%20Quest/Eclipse%203.6/plugins/org.eclipse.sdk_3.6.1.v201009090800 /plugin.xml&q=lang:xml%20ActivityCategoryPreferencePage&type=cs 看起来像id是'org.eclipse.sdk.capabilities' 希望帮助:) – sgibly

2

我写了一些代码,命令处理程序找出所有基于http://rcpexperiments.blogspot.com/2010/03/how-to-remove-unwanted-preference-pages.html偏好页面标签和它们的ID。但是,该站点上的代码仅打印出最高级别的首选项节点;而我想要的页面位于顶级General(org.eclipse.ui.preferencePages.Workbench)首选项页面的子页面。所以我稍微修改了代码以便将孩子打印出来。

PreferenceManager pm = PlatformUI.getWorkbench().getPreferenceManager(); 
    List<IPreferenceNode> l = pm.getElements(PreferenceManager.PRE_ORDER); 

    for(IPreferenceNode node : l){ 
     System.out.println("Label:" + node.getLabelText() + " ID:" + node.getId()); 
    } 

这份打印出所有的首选项页面的名称和ID,之后,我只是做了我想要的标签进行搜索。

相关问题