org.eclipse.ui.preferencePages 扩展点允许您为工作台首选项(窗口 -> 首选项)对话框添加页面。首选项对话框提供用户首选项条目的分层列表。当选择每个条目时,该条目都会显示相应的首选项页面。
自述文件工具使用此扩展点来添加“自述文件示例”首选项页面。
<extension point = "org.eclipse.ui.preferencePages"> <page id="org.eclipse.ui.examples.readmetool.Page1" class="org.eclipse.ui.examples.readmetool.ReadmePreferencePage" name="%PreferencePage.name"> </page> </extension>
此标记定义一个称为“Readme Example”的首选项页面,该页面是由类 ReadmePreferencePage 实现的。该类必须实现 IWorkbenchPreferencePage 接口。
工作台使用 PreferenceManager 来保存首选项树中所有节点及其相应页面的列表。可以根据插件注册表中的信息来初始化此列表,而不运行任何插件代码。在运行任何代码之前,将显示插件为首选项对话框添加的内容(“自述文件示例”条目在左边)。
“Readme Example”首选项被添加到首选项树的顶层的左边。为什么?因为除非指定了 category 属性,否则将添加首选项页面添加项作为该树的根目录。(名称 category(类别)有点让人产生误解。也许 path(路径)这个名称更好一些。) category 属性指定父页面的标识(或者是根目录中的一系列标识)。例如,下列标记将创建辅助自述文件工具首选项页面“Readme Example Child Page”来作为原始页面的子代。
<extension point = "org.eclipse.ui.preferencePages"> <page id="org.eclipse.ui.examples.readmetool.Page1" class="org.eclipse.ui.examples.readmetool.ReadmePreferencePage" name="%PreferencePage.name"> </page> <page id="org.eclipse.ui.examples.readmetool.Page2" class="org.eclipse.ui.examples.readmetool.ReadmePreferencePage2" name="Readme Example Child Page" category="org.eclipse.ui.examples.readmetool.Page1> </page> </extension>
一旦用户选择树中的首选项页面左边的条目,工作台就将使用在扩展定义中指定的类来创建和显示首选项页面。此操作将激活插件(如果由于另一个用户操作而使它尚未激活的话)。