2017-08-31 154 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