org.eclipse.ui.preferencePages 拡張ポイントによって、ユーザーはページを「一般設定」ダイアログ (「Window 」->「設定」と選択) に追加できます。 「設定」ダイアログは、ユーザー設定エントリーの階層リストを表示します。それぞれのエントリーは、対応する選択時の設定ページを表示します。
README ツールはこの拡張ポイントを使用して、「README サンプル設定」ページを追加します。
<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>
このマークアップは、ReadmePreferencePage クラスがインプリメントする "README 例 (Readme Example)" という名前の設定ページを定義します。このクラスは IWorkbenchPreferencePage インターフェースをインプリメントする必要があります。
ワークベンチは、コア・ランタイムの設定メカニズムを使用して、設定ツリーのすべてのノードおよびその対応するページにアクセスします。このリストは、プラグイン・コードを実行せずに、設定サービスの情報から初期化できます。
"README サンプル" 設定は、左側の設定ツリーのトップレベルに追加されます。 これはなぜでしょうか。これは追加される設定ページが、 カテゴリー属性が指定されていない限り、ツリーのルートとして追加されるためです。(カテゴリーという名前は誤解を招きやすい名前です。 誤解を避けるには、パスという名前の方がいいかもしれません。)カテゴリー属性は、 親ページの ID (またはルートからの一連の ID) を指定します。例えば、以下のマークアップは 2 番めの README ツール設定ページ "README 例の子ページ (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>
ユーザーが左側のツリーの設定ページのエントリーを選択すると、 ワークベンチは拡張定義で指定されたクラスを使用して、設定ページを作成し、表示します。 このアクションがプラグインを起動します (他のユーザー操作によってそのプラグインがまだ起動されていない場合)。