Wenn der Benutzer eine Ressource und dann den Befehl "Suchen" auswählt, startet das Such-Plug-in einen Dialog, der Seiten für unterschiedliche Arten von Inhaltssuchen enthält. Diese Seiten werden unter Verwendung des Erweiterungspunktes org.eclipse.search.searchPages ergänzt.
Die Konfigurationsbefehle für die Ergänzung einer Suchseite sind relativ einfach. Das folgende Beispiel stammt aus der Ergänzung des JDT-Plug-ins für die Seite "Java-Suche":
<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>
Die Klasse (Attribut class), die die Suchseite implementiert, muss angegeben werden. Diese Klasse muss die Schnittstelle ISearchPageimplementieren und erweitert normalerweise DialogPage. Kennsatz und Symbol, die zur Beschreibung der Suche im Suchdialog verwendet werden können, werden ebenfalls angegeben. Zusätzliche Parameter steuern die Größe der Seite und die Position der Seite innerhalb des Suchdialogs.
Das Attribut extensions bestimmt die Ressourcen, auf die die Suchseite angewendet werden kann. Es ist als eine durch Kommata gegliederte Liste mit Dateierweiterungen formatiert. Jeder Dateierweiterung folgt, abgetrennt durch einen Doppelpunkt, ein numerischer Gewichtungswert. 0 stellt hierbei die niedrigste Gewichtung dar. Der Gewichtungswert ist ein relativer Wert, über den die Suchinfrastruktur die Suchseite findet, die für eine gegebene Ressource am geeignetsten ist.
Falls eine Suchseite alle möglichen Ressourcen suchen kann, sollte der Wert "*" verwendet werden.
Das Protokoll ISearchPage
ist recht einfach strukturiert. Ihre Suchseite muss performAction()
implementieren. Diese Methode wird aufgerufen, wenn die Schaltfläche Suchen ausgewählt wird. Ihre jeweilige Suchimplementierung ist natürlich von der Funktion Ihres Plug-ins abhängig, aber in der Regel wird in dieser Methode eine Anzeigefunktion
für Ergebnisse unter Verwendung der Methode activateSearchResultView().
von NewSearchUI geöffnet.
Es ist Aufgabe Ihres Plug-ins, die Ergebnisse in der Sicht 'Suchergebnisse' anzuzeigen.