在eclipse工作区中按名称搜索包

时间:2014-04-11 09:51:55

标签: java eclipse eclipse-plugin

我尝试过以下代码,但没有匹配。请帮我解决一下这个。

    SearchPattern pattern = SearchPattern.createPattern(packageName,IJavaSearchConstants.PACKAGE,IJavaSearchConstants.PACKAGE,IJavaSearchConstants.ALL_OCCURRENCES);
    IJavaSearchScope scope = SearchEngine.createWorkspaceScope();
    PackageSearchRequestor requestor=new PackageSearchRequestor();
    SearchEngine searchEngine = new SearchEngine();
    searchEngine.search(pattern, new SearchParticipant[] { SearchEngine.getDefaultSearchParticipant() }, scope, requestor, null);

注意:我目前通过遍历工作空间中的所有项目并调用IJavaProject的getAllPackageFragmentRoots()并迭代包并匹配元素名称来实现此目的。但我认为使用SearchPattern将是更好的方法。

1 个答案:

答案 0 :(得分:0)

SearchPattern.createPattern的参数与JavaDoc中描述的有效值不匹配。你可能想要这样的东西:

SearchPattern.createPattern(packageName, IJavaSearchConstants.PACKAGE,
            IJavaSearchConstants.ALL_OCCURRENCES, SearchPattern.R_EXACT_MATCH);