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 接口。
工作台使用核心运行时的首选项机制来访问首选项树中所有节点及其对应页面。可通过首选项服务中的信息初始化此列表而不运行任何插件代码。

“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>
一旦用户选择树中的首选项页面左边的条目,工作台就将使用在扩展定义中指定的类来创建和显示首选项页面。此操作将激活插件(如果由于另一个用户操作而使它尚未激活)。