0

I am developing a plugin to remove the sysout statements in an eclipse workspace. As part of this plugin I also want to provide the functionality to search and view the instances of sysout statements in eclipse search view. Is there a way to do this using the eclipse JDT API?

4

2 回答 2

1

我建议使用org.eclipse.jdt.core.search.SearchEngine实例。特别是,您可能有兴趣调用org.eclipse.jdt.core.search.SearchEngine.search(SearchPattern, SearchParticipant[], IJavaSearchScope, SearchRequestor, IProgressMonitor).

查看该方法的 Javadoc。你需要为SearchPattern你正在寻找的东西提供一个合适的。我会为System.outandSystem.err引用创建一个模式,而不是PrintStream.println引用(因为这些可能是合法的)。

您也可以指定搜索范围。因此,它可以是整个工作区、一组项目,甚至是当前选择。

于 2013-05-22T16:50:52.023 回答
1

您可以使用抽象语法树 (AST) 和 Java 模型来修改您的代码。

为了保持抽象,您可以让用户在大纲视图(在本例中)中标记要搜索(和替换)的表达式System.out。然后,您可以通过 访问所选内容IMemberISelection并使用SearchEngine它来查找对它的所有引用。收集完所有要更改的引用后,您可以使用 anASTParser获取源文件的 AST。我建议使用ASTRewrite来做(和收集)更改。

这里有两篇我觉得很有帮助的文章:

于 2013-05-22T07:10:35.143 回答