基于AST的Eclipse搜索
是否有Eclipse插件可以让您根据项目文件的Java AST(抽象语法树)进行搜索? “Java搜索”function似乎不包括以下情况:
“让我在所有类中声明为’X’类型的所有字段”
我可以想象使用基于AST的搜索可以打开更多的可能性,但我甚至不知道这样的插件是否具有实际性能。
更新 :正如下面Kevin所指出的,Java搜索function确实涵盖了我提到的用例。 我仍然很好奇,不管是否有人编写了一个插件,允许任意类型的AST搜索,例如。 “获取所有字符串连接”(带有+运算符和StringLiteral操作数的InfixExpression)
获取所有类中声明为“X”类型的所有字段
我不知道你还有什么想法,但我相信你可以通过以下方式完成这个特定的搜索:
- 打开X型(Ctrl-Shift-T)
- 突出显示class级名称
- Ctrl-H进行搜索
- 搜索类型/匹配位置 – >字段类型
有几个Eclipse插件提供面向对象的查询语言,旨在回答这些查询。 他们中有一些:
- 浏览逐个查询
- SEA-QL
- Semmle代码
在Eclipse之外有JArchitect代码查询语言
这并不是你想要的,但是nWire for Java可以为你提供大量来自AST的信息。 它还具有搜索任何类型,方法,字段等的全文搜索。一旦找到您要查找的内容,单击将显示该组件的所有关联。
在这里查看演示。