【问题标题】:AST-based search for Eclipse基于 AST 的 Eclipse 搜索
【发布时间】:2011-01-13 06:15:05
【问题描述】:

是否有 Eclipse 插件可以让您根据项目文件的 Java AST(抽象语法树)进行搜索? “Java 搜索”功能似乎不涵盖以下情况:

“获取所有类中声明为类型'X'的所有字段”

我可以想象基于 AST 的搜索会带来更多可能性,但我什至不知道这样的插件是否具有实际性能。

更新:正如下面 Kevin 所指出的,Java 搜索功能确实涵盖了我提到的用例。我仍然很好奇是否有人编写了一个允许任意类型 AST 搜索的插件,例如。 “获取所有字符串连接”(带有 + 运算符和 StringLiteral 操作数的 InfixExpression)

【问题讨论】:

    标签: java eclipse search eclipse-plugin abstract-syntax-tree


    【解决方案1】:

    有几个 Eclipse 插件提供面向对象的查询语言并旨在回答此类查询。其中一些:

    在 Eclipse 之外有 JArchitect 代码查询语言

    【讨论】:

      【解决方案2】:

      这并不是您要寻找的,但 nWire for Java 可以为您提供大量源自 AST 的信息。它还具有全文搜索功能,可用于搜索任何类型、方法、字段等。找到所需内容后,单击即可显示该组件的所有关联。

      查看演示 here

      【讨论】:

        【解决方案3】:

        获取所有声明为类型的字段 所有类中的“X”

        我不知道您还有什么想法,但我相信您可以通过执行以下操作来完成此特定搜索:

        • 打开类型 X (Ctrl-Shift-T)
        • 突出显示类名
        • Ctrl-H 搜索
        • 搜索类型/匹配位置 -> 字段类型

        【讨论】:

        • 这似乎只是返回类型本身的声明。
        • 对不起。我编辑了条目以使用匹配位置过滤器而不是声明。
        • 啊,太好了,谢谢。我以前从未尝试过匹配位置选项。这至少涵盖了我提到的用例。
        • 将此标记为答案,因为它涵盖了我可能想要基于 AST 的搜索的大多数情况。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-15
        • 2011-07-02
        • 1970-01-01
        相关资源
        最近更新 更多