Eclipse Photon幾天前已經發布,我決定再做一個與IntelliJ IDEA的比較。上次我解釋了爲什麼我仍然喜歡Eclipse,但是因爲在當前的項目在Eclipse中遇到了Java 9的問題,我在過去的半年中一直在使用IntelliJ IDEA。(仍然將Eclipse用於其他一切;部分原因是IDEA無法“在一個workspace中放置多個項目”)。

Eclipse應該向IntelliJ IDEA學習的5種優秀特性

不過,這一次的比較將是另一種情況——我希望在Eclipse中擁有哪些IDEA特性?使工作更容易和更有效率的特性。(順便問一下,什麼是合適的簡稱- IntelliJ?IDEA?)

這是不是背離了我的“Eclipse更好”立場?不——我不相信有完美的IDE(或者任何完美的東西),所以任何產品都可以嘗試從競爭中獲得最好的一面。在這裏,我將討論Eclipse需要改進的五個特性。

首先是“查找路徑”對話框。對話框的交互性——在IDEA中,您在輸入時能看到所有結果,並且能夠使用箭頭導航結果,信息量巨大。相比之下,Eclipse的笨重的搜索對話框,(儘管很強大),有一百萬個標籤(很少關注你的需要),然後你點擊“搜索”搜索的結果列表面板,雙擊爲了看到上下文…跟IDEA比起來很糟糕。

其次是建議靜態導入。除了在測試中,靜態導入很少被使用。Mockito、Hamcrest、test utility methods——在每個類中都需要幾十個靜態導入。使用Eclipse會覺得很痛苦——您手動地去導入所需的方法,然後組織這些導入的東西,然後突然需要另一個導入,您天真地添加.*的也是指在特點的導入中起作用,因此,您必須再次手動導入。相反,IDEA卻能自動彈出框建議最相關的靜態導入,併爲您處理。

Eclipse應該向IntelliJ IDEA學習的5種優秀特性

三是自動補全。IDEA當你開始打字時自動觸發自動補全功能;在Eclipse中,它只在輸入小點之後觸發——否則必須按CTRL+space。是的,我知道有自動激活設置,可以配置觸發自動完成的符號,但正如我之前抱怨過的IDEA的默認值,這回輪到了Eclipse。它甚至不是一個複選框——你必須主動輸入整個字母表,小寫和大寫字母,才能讓它正常工作——這就是糟糕的設計。在什麼情況下我需要自動補全a b c而不是d e f?

第四是lambda簡化。你有時會在一個stream 中有很長的調用鏈,它們可能不是表達你想要的東西的最佳方式。IDEA會給你建議改進,以便在獲得相同結果的同時更易於閱讀和理解。最終你自己開始學會進行簡化。

第五,形參名稱。當你調用一個方法foo.bar("Some string", 0, true) 時,參數是什麼並不明顯。雖然您可以認爲這是一個糟糕的方法調用,但像這樣的基本類型(+String)作爲參數在編程中到處可見。在調用方法時知道方法參數(形參)的名稱還是很有必要的。IDEA能很好的做到這一點。

當然,每個IDE都可以從另一個IDE中吸取更好的東西。希望這種競爭將繼續下去,並使兩者都得到改善。

相关文章