1
虽然有类似的question,但它确实很早以前。在这个问题下我没有评论的评论。IDE如何获得类层次结构
我的问题是IDE如何像IntelliJ那样有效地获得类层次结构?特别是亚类。
当然我知道一些典型的方式,如使用Reflections。但它只能在运行时执行此操作。
我想自己构建一个工具,它可以在项目之外获得任何项目的类层次结构,并在运行时像IntelliJ那样执行此操作。
感谢您的回复!
虽然有类似的question,但它确实很早以前。在这个问题下我没有评论的评论。IDE如何获得类层次结构
我的问题是IDE如何像IntelliJ那样有效地获得类层次结构?特别是亚类。
当然我知道一些典型的方式,如使用Reflections。但它只能在运行时执行此操作。
我想自己构建一个工具,它可以在项目之外获得任何项目的类层次结构,并在运行时像IntelliJ那样执行此操作。
感谢您的回复!
IntelliJ为每个intellij项目创建了所有已知类别的索引。
这包括您自己的代码,库中的类和JDK(java)类。
您会注意到IntelliJ第一次打开需要几秒钟索引的项目。
这允许intellij从一个类快速导航到(比如说)它的超类,子类和用法。
如果您阅读IntelliJ插件开发文档,您可以访问内部API并阅读关于PSI
结构。
链接:https://www.jetbrains.org/intellij/sdk/docs/basics/architectural_overview/psi_elements.html
Eclipse中使用[JDT抽象语法树(http://www.vogella.com/tutorials/EclipseJDT/article.html) –
经办人接近选民 - 这是涉及到一个公平的问题intellij对java文件的内部索引。请检查我的答案,在这里关闭不需要。 – vikingsteve
我想添加@ greg-449的答案,即Eclipse JDT AST模型,解析器等可以在任何Java程序中使用(不仅在Eclipse IDE中)。其他一些工具会将其用于Java导航和重构。 – Mickael