ユーザーがリソースを選択して検索コマンドを選ぶと、検索プラグインは、さまざまな種類のコンテンツ検索を行うためのページが入っている ダイアログを起動します。 これらのページは、org.eclipse.search.searchPages 拡張ポイントを使用して提供されています。
検索ページを組み込むマークアップは簡単です。 以下の例は、Java 検索ページの JDT プラグインの組み込みです。
<extension point="org.eclipse.search.searchPages"> <page id="org.eclipse.jdt.ui.JavaSearchPage" icon="icons/full/obj16/jsearch_obj.gif" label="%JavaSearchPage.label" sizeHint="460,160" extensions="java:90, jav:90" showScopeSection="true" class="org.eclipse.jdt.internal.ui.search.JavaSearchPage"> </page> </extension>
検索ページをインプリメントする class を指定しなければなりません。 このクラスは ISearchPage インターフェースをインプリメントしなければならず、一般的に DialogPage を拡張します。 検索を検索ダイアログでで記述するために使用できる label および icon も指定されています。 その他のパラメーターは、検索ダイアログでページのサイズおよびページのロケーションを制御します。
extensions 属性は、検索ページが機能できるリソースを指定します。 これは、コンマで区切られた、ファイル拡張子のリストの形式になっています。 それぞれのファイル拡張子には、コロンで区切られた数値 (0 が最小の重み) が続いていなければなりません。 この重みの値は相対値で、検索インフラストラクチャーが、指定されたリソースに最も適切な検索ページを検索できるようにするためのものです。
検索ページが、考えられるすべてのリソースを検索できる場合、"*" を使用しなければなりません。
ISearchPage のプロトコルは簡単です。
検索ページでは、「検索」ボタンが押されたときに呼び出される performAction()
がインプリメントされていなければなりません。
もちろん、特定の検索インプリメンテーションはプラグインの機能によって異なりますが、
SearchUI
メソッド activateSearchResultView()
を使用して、このメソッドで結果ビューアーを開くことが一般的です。
その結果を検索結果ビューに表示するのは、プラグインが行うべき動作です。 ISearchResultView プロトコルを使用して、 一致はビューに追加されます。 一致ごとに、その一致の記述、およびリソースのマーカーが指定されています。 マーカーの情報、およびその機能については、「リソース・マーカー」を参照してください。