爲何比起 IntelliJ IDEA,我仍然更喜歡 Eclipse

這麼多年來,我觀察到滾滾歷史潮流正在從Eclipse涌向IntelliJ IDEA。去年,二者的使用率幾乎相等,可是我感受天平正在漸漸傾向IDEA。html

IDEA就像IDE中的iPhone——它的用戶會告訴你「一旦你習慣以後,你會以爲它更好用」,或者「你怎麼還在使用Eclipse?」亦或是「IDEA太棒了,每一個人都應該換成IDEA」,等等。程序員

在過去的12年時間裏,我主要使用Eclipse,可是在某些狀況下,我使用IDEA——在我編寫Scala的時候,編寫Android的時候,以及最近——因爲Eclipse未能爲Java 9發行版作好準備,因此通過半天的努力以後,我只能切換到IDEA,直到Eclipse終於有了一個可用的Java 9版本(包括Maven和其餘東西)。微信

我老是很快地回到Eclipse。我仍然更偏心它。不只僅是由於我已經內化了全部的關鍵字組合(你能夠在IDEA中重用這些組合),也是由於在IDEA中還有一些我以爲更糟糕的東西。固然,IDEA有許多很酷的功能,如代碼改進建議,以及它有實際上無所不能的有效插件。但我發現一些與更基本的開發工做流程和體驗有關的問題。這些沒法用糖衣包裹的「炮彈」是:intellij-idea

一、項目不是自動構建的(默認狀況下),因此你能夠以編譯錯誤結束,直到你打開一個非編譯文件或者運行一個構建。而後打開自動構建,讓計算機爬動起來。我知道個人計算機須要升級,但這不是重點——沒有「構建在變化上」對第一次嘗試IDEA的我來講是一個巨大的「驚喜」。框架

我最近在Twitter上抱怨說,這竟然「是一個功能」。依據貌似是若是你使用重構,那就不該該發生。可是,有數十起案例代表它確確實實發生了。經過添加方法參數、更改參數類型、刪除參數(此處IDE沒法根據類型推斷刪除哪一個參數)或經過更改返回類型來重構。另外,Maven / Gradle依賴關係的改變可能會引入你沒法看到的編譯問題。這根本不是一個合理的默認值,而且我認爲性能問題是它仍然默認的惟一緣由。這使得體驗變得更糟。less

二、每一個屏幕只能有一個項目。也許那些只有綠地項目的小公司也是存在的。可是你至少偶爾須要一個單獨的項目——不管是「實驗」,仍是「工具」,或者其餘什麼。多模塊Maven項目(IDEA處理良好)是不夠的。因此每當你須要走出你的主要項目時,你會啓動另外一個屏幕。除了糟糕的可用性以外,它的內存加倍,痛苦加倍。eclipse

三、提及內存,IDE彷佛比Eclipse更耗費內存。我沒有這方面的表明性基準,可是我知道如今我家裏的8 GB RAM對於開發來講過小了,不過一直沒換。編輯器

四、它感受沒有那麼響應和笨重。有一點小小的延遲,很差說,可是「我感受獲得」。我在某個地方讀到過說IDE過分地重畫屏幕元素,因此這可能就是緣由。Eclipse感受更順暢(我知道這不是一個合適的論據,但我也沒有更精確的數據了)。ide

五、機智如我很聰明地圍繞項目有「unused methods」和「never assigned fields」。因爲使用Spring,因此這些方法和字段是控制器方法和自動裝配字段。也許一些Spring插件會照顧到這一點,可是Spring並非惟一使用反射的框架。即便是POJO上的getter和setter也會獲得unused警告。這些警告有什麼問題?這些警告是貶值的。它們如今沒有任何意義。類也沒有「黃色」指示器,因此你實際上看不到警告的數量。Eclipse可以更好地顯示警告,並且誤報也不太常見。函數

六、調用層次稍差。可是因爲這對於我而言是最重要的IDE功能(還有重構也是),因此我必定要着重說明。它不會給你沒有明肯定義的默認構造函數的調用層次結構。另外,我所看到的是,IDEA用戶並不常用調用層次結構功能。我認爲在調用層次結構以前,「查找引用」經過UI也更加明顯,因此一些IDEA用戶甚至不知道調用層次結構是什麼,而是反覆地「查找引用」。這只是IDE的缺陷之一。

七、在輸出控制檯中不進行搜索。爲何我有了IDE還必須複製輸出並粘貼到文本編輯器才能搜索?先等等,我得澄清一下,控制檯確實有搜索。可是當我運行(Spring Boot)應用程序時,它會在底部不是控制檯的面板中輸出東西,而且沒有搜索。

八、CTRL +箭頭默認跳過整個單詞,而不是「駱峯式」單詞。這是可配置的,但又是一個奇怪的默認值。幾乎你們老是但願可以逐個單詞(在駝峯式大小寫狀況下)地遍歷變量,而不是跳過整個變量(方法/類)名稱。

九、幾年前,當我將它用於Scala時,那個項目從未真正編譯過。可是我猜那更多的是Scala的錯,而不是IDE。

若是你說,除了前兩個,其他都不是重大問題,那我也贊成。可是隨着一個個問題的累加,最終,這些稻草壓彎了駱駝。因此,我又回到了Eclipse的懷抱。固然你也能夠對這些問題視而不見,這是你的選擇自由。

譯文連接:http://www.codeceo.com/article/why-i-prefer-eclipse-over-intellij-idea.html

英文原文:https://dzone.com/articles/i-still-prefer-eclipse-over-intellij-idea

翻譯做者:碼農網 – 小峯


   
關注方式

★長按二維碼,選擇「識別圖中二維碼」進行關注

本文分享自微信公衆號 - 程序員閃充寶(cxyscb1024)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索