Når brugeren vælger en ressource og vælger søgekommandoen, starter søge-plugin'en en dialogboks, der indeholder side for de forskellige typer indholdssøgninger. Disse sider leveres vha. udvidelsespunktet org.eclipse.search.searchPages.
Koden til brug for levering af en søgeside er ganske enkel. Følgende eksempel indeholder JDT-plugin'ens leverance til Java-søgesiden:
<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>
Den klasse, som implementerer søgesiden, skal angives. Denne klasse skal implementere grænsefladen ISearchPage og typisk udvide DialogPage. Den etiket og den ikon, som kan bruges til at beskrive søgningen i søgedialogboksen, skal også angives. Andre parametre styrer størrelsen på siden og placeringen af siden i søgedialogboksen.
Attributten extensions angiver de ressourcer, som søgesiden kan fungere på. Den formateres som en kommasepareret liste over filtyper. Hver filtype skal efterfølges af en numerisk vægtet værdi, hvor 0 er den laveste vægtning, adskilt af et kolon. Vægtningsværdien er en relativ værdi, somsøgeinfrastrukturen bruger til at finde den søgeside, der er mest relevant for en given ressource.
Hvis en søgeside skal kunne søge i alle ressourcer, skal "*" benyttes.
Protokollen for ISearchPage
er enkel. Søgesiden skal implementere performAction()
, som kaldes, når der trykkes på knappen Søg. Den pågældende søgeimplementering er naturligvis afhængig af plugin'ens funktion, men den åbner typisk en resultatfremviser i dette tilfælde vha. NewSearchUI-metoden activateSearchResultView().
Din plugin er ansvarlig for at vise resultaterne i en søgeresultatoversigt.