2009-08-05 10 views

Antwort

1

Die Aktion, die den Dialog startet, ist FindInFileActionDelegate (es hat ein paar Schwestertypen für verschiedene Bereiche), dies befindet sich im org.eclipse.search-Plugin.

Die Delegierten erben alle von einem gemeinsamen übergeordneten Objekt namens RetrieverAction. Die run() -Methode von RetrieverAction zeigt den Dialog an und führt die Abfrage aus. Sie können die relevante Verarbeitung von dieser Methode ausführen. Möglicherweise müssen Sie sich als ISelectionListener registrieren, um die aktive Auswahl zu verfolgen.

public void run() { 
    IWorkbenchPage page= getWorkbenchPage(); 
    if (page == null) { 
     return; 
    } 
    TextSearchQueryProvider provider= TextSearchQueryProvider.getPreferred(); 
    String searchForString= getSearchForString(page); 
    if (searchForString.length() == 0) { 
     MessageDialog.openInformation(getShell(), SearchMessages.RetrieverAction_dialog_title, SearchMessages.RetrieverAction_empty_selection); 
     return; 
    } 
    try { 
     ISearchQuery query= createQuery(provider, searchForString); 
     if (query != null) { 
      NewSearchUI.runQueryInBackground(query); 
     } 
    } catch (OperationCanceledException ex) { 
     // action cancelled 
    } catch (CoreException e) { 
     ErrorDialog.openError(getShell(), SearchMessages.RetrieverAction_error_title, SearchMessages.RetrieverAction_error_message, e.getStatus()); 
    } 
} 
+0

Woher bekomme ich das Plugin? Schreiben Sie bitte den Befehl, der das Fenster zum Suchen ersetzen öffnet –

+0

Es ist Teil von Eclipse, Sie können es in Ihren Arbeitsbereich importieren, indem Sie Datei-> Importieren ...-> Plug-in-Entwicklung-> Plug-Ins und Fragmente ausführen und die Option auswählen Plugin aus der Liste –

Verwandte Themen