Как я могу запустить команду Eclipse из Java? - PullRequest
2 голосов
/ 05 августа 2009

Как запустить команду поиска и замены, не нажимая кнопку «Редактировать» -> «Найти замену» или Ctrl + F? Мне нужно сделать это с помощью плагина, написанного на Java.

1 Ответ

1 голос
/ 05 августа 2009

Действие, которое запускает диалог, - это FindInFileActionDelegate (у него есть несколько родственных типов для разных областей), это можно найти в плагине org.eclipse.search

Все делегаты наследуются от общего родителя RetrieverAction. Метод run () RetrieverAction показывает диалоговое окно и выполняет запрос. Вы можете взять соответствующую обработку из этого метода. Вам может потребоваться зарегистрироваться в качестве ISelectionListener для отслеживания активного выбора.

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());
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...