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