當使用者選取資源並選擇搜尋指令時, 搜尋外掛程式將啟動一個對話框,來包含不同種類之內容搜尋的頁面。 這些頁面是使用 org.eclipse.search.searchPages 延伸點來提供的。
提供搜尋頁面的標記是直接而明確的。 下列範例說明 JDT 外掛程式如何提供 Java 搜尋頁面:
<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(),在這個方法中開啟結果檢視器。
您的外掛程式將負責在搜尋結果視圖中顯示它的結果。