2009-08-05 89 views

回答

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()); 
    } 
} 
+0

我在哪里得到插件? 请编写启动查找替换窗口的命令 – 2009-08-05 14:54:01

+0

它是Eclipse的一部分,您可以通过File-> Import ...-> Plug-in Development-> Plug-ins和Fragments将其导入到您的工作空间,然后选择插件从列表中 – 2009-08-05 15:26:37