Lorsque l'utilisateur sélectionne une ressource et emploie la commande search, le plug-in de recherche ouvre une boîte de dialogue contenant des pages pour divers types de recherches de contenu. Ces pages sont fournies à l'aide du point d'extension org.eclipse.search.searchPages.
Les marques de contribution d'une page de recherche sont simples. L'exemple ci-après correspond à la contribution du plug-in JDT plug-in d'une page de recherche Java :
<extension point="org.eclipse.search.searchPages"> <page id="org.eclipse.jdt.ui.JavaSearchPage" icon="icons/full/obj16/jsearch_obj.gif" label="%JavaSearchPage.label" sizeHint="460,160" extensions="java:90, jav:90" showScopeSection="true" class="org.eclipse.jdt.internal.ui.search.JavaSearchPage"> </page> </extension>
La classe implémentant la page de recherche doit être précisée. Elle doit implémenter l'interface ISearchPage et généralement étendre DialogPage. Le libellé et l'icône permettant de décrire la recherche dans la boîte de dialogue sont également indiqués. D'autres paramètres contrôlent la taille de la page et son emplacement dans la boîte de dialogue.
L'attribut extensions indique la ressource sur laquelle la page de recherche porte. Le formatage consiste à une liste d'extensions de fichiers séparées par des virgules. Chaque extension doit être suivie d'une valeur numérique de poids, la plus petite étant de 0, et séparée par un point-virgule. La valeur de poids est relative et permet à l'infrastructure de recherche de trouver la page la plus adaptée à une ressource donnée.
Si une page de recherche doit porter sur n'importe quelle ressource, le caractère "*" doit être employé.
Le protocole pour
ISearchPage
est simple. Votre page de recherche doit implémenter
performAction()
dont l'appel a lieu lorsque vous cliquez sur le
bouton Rechercher. Il va de soi que l'implémentation de la
recherche dépend de la fonction de votre plug-in, même si un afficheur de
résultats est généralement ouvert à l'aide de la méthode
SearchUI activateSearchResultView().
Votre plug-in est responsable de l'affichage des résultats dans la vue des résultats de recherche. Des occurrences sont ajoutées à la vue via le protocole ISearchResultView. Pour chaque occurrence de recherche, une description et un marqueur sont intégrés à la ressource. Reportez-vous à la section sur les marqueurs de ressources pour en savoir plus sur les marqueurs et leur fonctionnement.