爲何放棄Eclipse,最終轉向IntelliJ

1 愛恨交加卻難以割捨的Eclipse

    這真的是一個非常艱難的決定,我在大學那會就開始用Eclipse,一轉眼都10來年了,基本Eclipse中我可能會用到的快捷鍵我都是下意識的就能按出來。記得第一次使用的時候,驚訝的發現竟然有界面精美、功能強大、運行流暢於一身的IDE,感覺就是夢幻般的存在。特別是Eclipse(日蝕)和Sun這個名稱的關係,想想都忍俊不禁。

    幾年前有朋友推薦試用過IntelliJ,第一反應就是常用的快捷鍵都找不到了,改成eclipse適配快捷鍵還有很多常用的不一樣。最終沒玩多久就放棄了。

    但是Eclipse又是這麼多年來一直讓我愛恨交加的IDE,稍有些複雜的框架就會出現N多不兼容的情況,但最終促使我下決心去找個更好用的IDE就是有時候真的不知道爲什麼同樣的配置方式在不同機器卻不一定都會生效。我可不想每次爲了同事配置機器耗費幾十分鐘,最終還只能是機率性成功。

    其實,在一般常用的開發中,Eclipse真的還是最容易學習上手的。但是Eclipse的代碼層面設計真心不夠好,以至於新版本發佈後與舊版本插件居然還可能有兼容性問題。如果你沒有被Eclipse的問題所困擾,其實完全可以繼續使用。除非你看了下文,想法有所改變...


2 讓開發更高效的IntelliJ

     在用了一個月之後,漸漸發現他的強大之處,而且所有機器的配置都用一個配置手冊搞定了,無一例外。我終於可以只丟一個文檔給新員工自己去操作了,省下來好多時間可以喝茶寫博客。


2.1 更好的項目管理方式

2.1.1 project & modules

    剛切換過來原本還挺困惑的,之前一直聽說只能一次打開一個工程,而我這邊工程都是分模塊化的,需要10多個工程組合在一起才能正常工作。後來發現,這裏的Project是類似於eclipse中的workspace,而Module是類似於eclipse中的project。這裏可不僅僅是名稱簡單更改了一下,IntelliJ中的Project真的是一個工程,有統一的Global Library,也可以正確的相互依賴,把原來爲了方便開發的模塊整合到一起進行管理。AWESOME!

2.1.2 超級方便的GIT項目管理

    如果上一條你還沒理解,這裏有個最直觀的例子,就是這麼多工程每個都是一個獨立的Git project(因爲不同工程會有不同權限),做完一個功能都會有N個需要提交的module。之前總是會出現忘記提交某個模塊的事情,但是現在的更新和提交就是對這個project下的所有module。就衝這點,就不得不換它了,不知道省下多少時間。


2.2 告別總是與預期不一致的配置

2.2.1 不一樣但更清晰的Settings目錄

    該是IDE配置的東西都在Settings這裏能找到,工程的配置也在Project Settings裏面。爲數不多的目錄分層很清晰,現在反而奇怪爲什麼Eclipse的配置目錄看起來那麼暈。

2.2.2 告別總是改不掉的tab

    Eclipse中真的是用盡渾身解數,配置了N處把tab改成4 spaces,但是你會發現在總有地方還是不生效。但是IntelliJ會完全按照你配置的預期來,而且默認就是4 spaces,只有SQL默認是2個。

2.2.3 默認的深色主題

    終於能把整個界面快速改成酷酷的深色了,但是我最後還是上網去下了個配色感覺更好看,兼容性也很好。Eclipse只能把寫代碼的那一個窗口變成深色,還經常有顏色顯示的BUG。。。


2.3 更高的開發效率

2.3.1 代碼的自動生成以及ZenCoding支持

     其實這個Eclipse裏面也有,但是確實沒他智能。舉個例子,就是它能生成某個類的測試類,還能正確的放到test相應的目錄下。

    另外,ZenCoding支持非常好,寫html非常方便,tab就是快速補全,和原生集成的一樣。

2.3.2 對JS、CSS以及插件更好的支持

     Eclipse裏面基本對這兩個支持度差到無法直視,因爲我Web寫的少,所以忍到現在。其他同事都是用其他IDE去寫Web,用eclipse啓動一下web server。現在只用這一個就行了。

2.3.3 更好的調試

     對於這點,只能說是碉堡了,甩了Eclipse幾條街。

     運行過的行,可以立刻在代碼界面提示相關的值,也不用一個Debug界面跳來跳去,而且還能在IDE中調試JS,代碼和界面的自動刷新同步等等。我到現在也不知道爲什麼在Eclipse中有時候改了代碼,有時候會熱部署,有時候就是直接重啓server,還有時候不手動重啓都不生效。。。

2.3.4 快捷鍵

    有更多更好用的快捷鍵,也有很多好用的新功能,自己去翻翻~


3 IntelliJ的坑

    這個IDE也不是啥都好,在最初一週的試用評估階段,也是一堆坑趟過來的。不得不吐槽一下!


  • Maven的功能集成度一般:和eclipse的管理界面比差不少,特別是新增配置只能修改XML,查看依賴需要到另外一個界面。

  • 煩人的多層目錄:如果你使用Maven,就會發現居然在Project模式下,需要逐一打開src/main/java這三層目錄才能看到java文件,爲什麼不能一起打開。如果用Package模式,你會發現除了在classpath中的文件,什麼都看不到,包括你WebContent下的,還要再開一個Web視圖。

  • 超小的默認內存,內存溢出崩潰不提示:啓動內存一樣要和Eclipse那樣修改配置文件,但是崩潰了就直接界面消失,找了一圈才發現自帶的JRE下有個崩潰日誌,發現內存居然不夠,最後加到1.5G才能穩定運行。

  • 社區版的功能太弱,商業版收費不低:除非你只寫最基本的Java代碼,涉及Web開發等真的沒有商業版,這個IDE也不怎麼好用。

  • git的push:我真心不知道爲什麼不放到alt+~的菜單或者右上角VCS控制中,藏那麼深,只能用ctrl+shift+k去打開界面。

  • console多且分散:這個不是不好,它把不同的輸出放到不用的Console中,非常清晰,但是剛開始使用,你會發現你不確定會輸出到哪裏,在哪裏能看到。只能說學習成本高了一點。

  • Tool Buttons默認沒打開:這個爲什麼不打開,雖然左下角有個圖標可以點開,但是你確定第一次使用看不到這些Button,用戶能找到相應的地方?!


4 總結

    如果你只是想找個IDE來學習Java,那麼Eclipse會很快讓你進入狀態。

    如果你是想找個能提升開發效率的IDE,那麼IntelliJ是非常值得嘗試的。

    最後說一句,Java自己也是讓人愛恨交加,脫離了IDE,這門語言還是讓人用的麼?!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章