検索ページを組み込む

ユーザーがリソースを選択して検索コマンドを選ぶと、検索プラグインは、さまざまな種類のコンテンツ検索を行うためのページが入っている ダイアログを起動します。 これらのページは、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.png"
		label="%JavaSearchPage.label"
		sizeHint="460,160"
		extensions="java:90, jav:90"
		showScopeSection="true"
		canSearchEnclosingProjects="true"
		class="org.eclipse.jdt.internal.ui.search.JavaSearchPage">
	</page>
</extension>

検索ページを実装する class を指定しなければなりません。 このクラスは ISearchPage インターフェースを実装しなければならず、一般的に DialogPage を拡張します。  検索を検索ダイアログで記述するために使用できる label および icon も指定されています。  その他のパラメーターは、検索ダイアログでページのサイズおよびページのロケーションを制御します。 

extensions 属性は、検索ページが機能できるリソースを指定します。 これは、コンマで区切られた、ファイル拡張子のリストの形式になっています。  それぞれのファイル拡張子には、コロンで区切られた数値 (0 が最小の重み) が続いていなければなりません。  この重みの値は相対値で、検索インフラストラクチャーが、指定されたリソースに最も適切な検索ページを検索できるようにするためのものです。 

検索ページが、考えられるすべてのリソースを検索できる場合、"*" を使用しなければなりません。

検索ページの実装

ISearchPage のプロトコルは簡単です。 検索ページでは、「検索」ボタンが押されたときに呼び出される performAction() が実装されていなければなりません。  もちろん、特定の検索の実装はプラグインの機能によって異なりますが、NewSearchUI メソッド activateSearchResultView() を使用して、このメソッドで結果ビューアーを開くことが一般的です。 

その結果を検索結果ビューに表示するのは、プラグインが行うべき動作です。