我開發一個Eclipse插件,用戶可以在搜索給出了一些文本查詢,類似於日食通常的Java搜索對話框一個Java代碼。擴展Eclipse的Java搜索
我用下面的代碼來搜索用戶
SearchPattern pattern = SearchPattern.createPattern("<search_string>",
IJavaSearchConstants.TYPE, IJavaSearchConstants.PARAMETER_DECLARATION_TYPE_REFERENCE,
SearchPattern.R_EXACT_MATCH);
// step 2: Create search scope
// IJavaSearchScope scope = SearchEngine.createJavaSearchScope(packages);
IJavaSearchScope scope = SearchEngine.createWorkspaceScope();
// step3: define a result collector
SearchRequestor requestor = new SearchRequestor()
{
public void acceptSearchMatch(SearchMatch match)
{
System.out.println(match.getElement());
}
};
// step4: start searching
SearchEngine searchEngine = new SearchEngine();
try {
searchEngine.search(pattern, new SearchParticipant[] { SearchEngine
.getDefaultSearchParticipant() }, scope, requestor,
null);
} catch (CoreException e) {
e.printStackTrace();
}
提供的文本還有我能夠從搜索對話框查詢字符串傳遞到執行ISearchPage類。
public class QuerySearchPage extends DialogPage implements ISearchPage
{
...
public boolean performAction()
{
System.out.println(txtQuery.getText());
search();//search using the SearchEngine
SearchOperation so = new SearchOperation(iFileSet);
IRunnableWithProgress query = so;
try
{
container.getRunnableContext().run(true, true, query);
}
catch (InvocationTargetException | InterruptedException e)
{
e.printStackTrace();
}
return true;
}
}
最後我被困在那裏我需要傳遞給ISearchResultView搜索結果中的點。基本上,我有兩個問題:
- 匹配結果的類型爲Object。如何將這些結果傳遞給以IFile作爲輸入的ISearchResultView?
- 如何獲得以下格式的結果?
我已經通過以下鏈接了:
- http://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2Fsearch_page.htm
- http://agile.csc.ncsu.edu/SEMaterials/tutorials/plugin_dev/
- http://grepcode.com/file/repository.grepcode.com/java/eclipse.org/3.5.2/org.eclipse/search/3.5.1/org/eclipse/search/ui/ISearchResult.java?av=f
- http://codeandme.blogspot.de/2015/07/a-custom-search-provider.html
- http://scg.unibe.ch/archive/projects/Bals10b-EclipsePlugins.pdf
- How can I develop Eclipse search Plugin?
- http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fapi%2Forg%2Feclipse%2Fsearch%2Fui%2FISearchResult.html
- https://wiki.eclipse.org/FAQ_How_do_I_implement_a_search_operation%3F
任何幫助是非常歡迎。
不推薦使用'ISearchResultView',推薦使用'org.eclipse.search.searchResultViewPages'聲明'ISearchResultPage'。 –
感謝您指出,但它沒有多大幫助。 –