最近我發現了Project Lombok,看起來非常漂亮。我甚至會說它在編譯時確實覆蓋了很多樣板,而我仍然編寫了一些在運行時幫助的變通辦法。我無法將Lombok整合到我目前的項目中,因爲即使沒有Lombok擴展的基本支持,IntelliJ IDEA也缺乏支持。我還發現了一個名爲lombok-pg的非常有用的龍目島擴展,它的功能非常酷,如yield()
(沒有更多的消費者生產者線程)。看一看lombok-pg源代碼我注意到它是爲javac和Eclipse編寫的。這兩個實現看起來看起來非常相似,但就我所瞭解的Lombok擴展實現活動而言,假設IntelliJ IDEA支持需要另一個,第三個實現同樣的東西,而且聽起來不那麼令人鼓舞。一次爲不同的環境實現Lombok擴展(javac,Eclipse,IntelliJ IDEA等)
我只是好奇:是否有任何種類的框架提供了一些通用的界面來管理AST與不同環境的實現?
非常感謝您的回覆。如果我是對的,我試圖將這個插件用於IntelliJ IDEA,並且它似乎缺少很多Lombok內置功能,所以這只是一個拒絕嘗試將Lombok引入IDEA中編寫的項目。坦率地說,我沒有看看龍目島的主要源代碼,但我確實相信龍目島有類似龍目島的AST(嗯,它是有道理的),而據我現在瞭解:它沒有,不幸。所以Lombok似乎繞過了我的項目。 –
@Lyubomyr Shaydariv:我不知道比我寫的更多。我想起了一個討論Lombok如何使用Lombok AST(或不是)的主題,但我再也找不到它了。也許嘗試[討論組](https://groups.google.com/forum/#!forum/project-lombok),因爲我不知道作者訪問SO的頻率如何。 – maaartinus
最近在IntelliJ上有很多活動。如果正在實施新的Lombok功能,插件代碼已經被清除了很多。 DisclosureL我是Project Lombok開發人員之一(不是IntelliJ插件) –