如何从Java启动Eclipse命令?

时间:2009-08-05 13:54:36

标签: java eclipse

如何在用户点击edit-> find replace或ctrl + F的情况下启动查找和替换命令?我需要使用Java编写的插件来完成这项工作。

1 个答案:

答案 0 :(得分:1)

启动对话框的操作是FindInFileActionDelegate(它有一些不同范围的姐妹类型),这可以在org.eclipse.search插件中找到。

所有委托都从名为RetrieverAction的公共父继承。 RetrieverAction的run()方法显示对话框并运行查询。您可以从此方法中获取相关处理。您可能需要注册为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());
    }
}