Amikor a felhasználó kiválaszt egy erőforrást és egy keresési parancsot, akkor a keresési bedolgozó elindítja az oldalakat tartalmazó párbeszédablakot a különböző tartalomkeresésekhez. Ezek az oldalak az org.eclipse.search.searchPages kiterjesztési pont segítségével biztosíthatók.
A keresési oldal biztosításának leírónyelve egyértelmű. Az alábbi példa a Java keresési oldal JDT bedolgozójának közreadása:
<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>
A keresési oldalt megvalósító osztályt meg kell adni. Ennek az osztálynak meg kell valósítani az ISearchPagefelületet és jellemzően kiterjeszti a DialogPage elemet. A címke és ikon, amely segítségével leírható a keresés a keresés párbeszédablakban, szintén meg van adva. A további paraméterek szabályozzák az oldal méretét és az oldal helyét a keresés párbeszédablakban.
A extensions attribútum megadja az erőforrásokat, amelyen a keresés oldal működhet. Ez a fájlkiterjesztések vesszővel elválasztott listájaként van kialakítva. Minden fájlkiterjesztést kettőspont után egy numerikus súlyértéknek kell követnie, ahol a 0 a legkisebb súly. A súlyérték egy relatív érték, amely engedélyezi, hogy a keresési infrastruktúra megkeresse az adott erőforráshoz legjobban megfelelő keresési oldalt.
Ha a keresési oldal keresheti az összes lehetséges erőforrást, akkor "*"-ot kell használni.
Az
ISearchPage
protokollja egyszerű. A keresési oldalnak meg kell valósítania
a performAction()
metódust, amely a Keresés gomb
megnyomásakor kerül meghívásra. Természetesen az adott keresés
megvalósítása a bedolgozó funkciójától függ, de a
NewSearchUI
activateSearchResultView() metódus segítségével általában megnyit
egy eredménymegjelenítőt ebben a metódusban.
A bedolgozó felelős az eredmények keresési eredménynézetben megjelenítéséért.