2017-08-31 206 views
1

虽然有类似的question,但它确实很早以前。在这个问题下我没有评论的评论。IDE如何获得类层次结构

我的问题是IDE如何像IntelliJ那样有效地获得类层次结构?特别是亚类。

当然我知道一些典型的方式,如使用Reflections。但它只能在运行时执行此操作。

我想自己构建一个工具,它可以在项目之外获得任何项目的类层次结构,并在运行时像IntelliJ那样执行此操作。

感谢您的回复!

+1

Eclipse中使用[JDT抽象语法树(http://www.vogella.com/tutorials/EclipseJDT/article.html) –

+0

经办人接近选民 - 这是涉及到一个公平的问题intellij对java文件的内部索引。请检查我的答案,在这里关闭不需要。 – vikingsteve

+0

我想添加@ greg-449的答案,即Eclipse JDT AST模型,解析器等可以在任何Java程序中使用(不仅在Eclipse IDE中)。其他一些工具会将其用于Java导航和重构。 – Mickael

回答

1

IntelliJ为每个intellij项目创建了所有已知类别的索引

这包括您自己的代码,库中的类和JDK(java)类。

您会注意到IntelliJ第一次打开需要几秒钟索引的项目。

这允许intellij从一个类快速导航到(比如说)它的超类,子类和用法。

如果您阅读IntelliJ插件开发文档,您可以访问内部API并阅读关于PSI结构。

链接:https://www.jetbrains.org/intellij/sdk/docs/basics/architectural_overview/psi_elements.html