虽然有类似的question,但很久以前就已经很久了。在这个问题上我没有声誉可以评论。
我的问题是像IntelliJ这样的IDE如何有效地获得类层次结构?特别是子类。
当然我知道使用Reflections的一些典型方法。但它只能在运行时执行此操作。
我想自己构建一个工具,可以在项目之外获得任何项目的类层次结构,并在运行之前像IntelliJ那样执行此操作。
感谢您的回复!
答案 0 :(得分:1)
IntelliJ为每个intellij项目创建所有已知类的索引。
这包括您自己的代码,库中的类和JDK(java)类。
您会注意到IntelliJ第一次打开一个需要几秒钟才能编制索引的项目。
这允许intellij快速从类导航到(例如)其超类,子类和用法。
如果您阅读了IntelliJ插件开发的文档,您可以访问内部API并阅读PSI
结构。
链接:https://www.jetbrains.org/intellij/sdk/docs/basics/architectural_overview/psi_elements.html