拜拜,Eclipse!你好,IDEA!

用了 Eclipse 10 年之後,我終於投向了 IDEA……最近,改用了 IDEA,同事都說我投敵了。當然,這些同事都是和我一樣的“老”程序員。不說畢業生,公司裡的 90 後基本電腦都不會安裝 Eclipse。

拜拜,Eclipse!你好,IDEA!

Eclipse 的三足鼎立時期

開始我寫 Java 程序,用的並不是 Eclipse,而是用的一款叫做 JBuilder 的工具。當時使用這個工具的時候,我已經覺得非常好用了,因為在此之前,我記得好像只是用個簡單的文本工具來編輯。後來才發現,那些喜歡宣揚文本編輯器才能精通 Java 的“高手”真的有點不敢恭維,至少於我而言,一個好的工具太重要了。

並沒有過了多久,我發現一款叫做 Eclipse 的工具,而且身邊用的人還越來越多,於是我決定試一試。嘗試的結果就是我發現它實在是太好用了,界面變得更漂亮之餘,裡面的功能感覺就是為程序員量身定做的一樣,最激動人心的功能是他竟然支持源源不斷的插件,而且這個插件還可以自己來編寫。

Eclipse 2001 年由 IBM 創立,2003 年就成立了基金會,可惜國內在那個時代總歸要慢一步,而我則更落後——直到 07、08 年才開始真正使用。《程序員》在 2006 年還出了一期專題——Eclipse 風暴。

那時,Eclipse、JBuilder、NetBean 三足鼎立的局面已經基本形成了。


拜拜,Eclipse!你好,IDEA!

Eclipse 稱霸

再後來出現了更加厲害的 MyEclipse,它集成了所有常用插件,只要你一鍵安裝完就啥都有了,通過它你基本上可以開發出 Java 的任何東西(雖然它不是免費的)。

慢慢地,JBuilder 已經沒什麼人再使用了;至於 NetBean,不知道是不因為處於國內還是我圈子太窄,身邊用的人總是很少,倒是在國外翻譯的技術書裡經常和 Eclipse 一同出現。

重構的流行,讓 Eclipse 更受青睞。熊節在《重構》譯本里推薦 Eclipse,後來我親眼看了他使用 Eclipse 純鍵盤(基本不用鼠標)飛快地重構代碼,有點傻了眼。後來背誦快捷鍵成了我的一項課題。

在接下來接近 10 年的日子裡,就是它陪著我度過了漫長又有意思的編程生涯。雖然經常有人爭論用簡單版的 Eclipse 好還是用豐富的 MyEclipse 好,用豐富版的經常會嘲笑用簡單的,什麼都沒有,什麼插件都得重新來一遍,用簡單版的又會鄙視使用豐富版的,什麼插件都不會安裝。我曾經見過有一個同事,使用時對一切都滾瓜爛熟——每一個插件在文件夾下叫什麼名字、應該刪除哪些文件、應該放在什麼地方、應該增加哪些配置、怎麼安裝怎麼卸載都倒背如流,隨後我也慢慢學會了這招。再後來插件安裝,已經不需要這麼麻煩了,只需要在市場上搜索再點擊一下安裝就可以了。但這些功能的改進並沒有令其免除用戶群慢慢轉移的危機……

Intellij IDEA 橫空出世

其實很久之前我就聽說 IDEA 非常好用,說只要使用過後就不會在使用 Eclipse 了。還說 JetBrains 這家公司怎麼這麼懂 Java 程序員。但是,我實在找不到什麼改變的理由,所以一直沒有嘗試使用。況且我還需要開發 C++、Python 這些語言,Eclipse 都有完善相應的版本插件支持。

其實在這段過程中,我也曾不斷詢問已經轉向 IDEA 的同事,想知道它究竟特別/好在哪裡,但沒有一個同事能夠清晰地回答我這個問題。大部分同事只是說就是很好用,你如果細細地問好在哪兒,他卻說不出來。

還有一些同事確實列舉了一些他認為更為好用的功能,但我聽完之後會告訴他,其實這些功能 Eclipse 也有。還有一個同事更搞笑,用了兩個月之後表示非常好用,然後我叫他把字體調大一些讓我看看,他竟然說不知道怎麼調——這些經歷實在讓我想不出什麼要改變的理由。

但是契機出現在不久前的一次公司組織的培訓,這幾位培訓不約而同的是都使用 IDEA 來培訓。其實,工具的不同並對培訓知識的吸收並沒有太大影響,但我實在忍受不了我明明花了一個小時聽培訓,但是隻聽了 55 分鐘的知識,剩餘 5 分鐘關於工具的使用技巧也應該吸收過來。再加之早就聽說 Robert C Martin 也許已從 Eclipse 轉向了這個工具,我終於決定要改變一下了。

改變第一天的安裝過程非常順利,官網提供免費版和試用版,我當然毫不猶豫地選擇試用版,至於 30 天以後,咱們心照不宣——再說。安裝過後當然是黑糊糊的一個界面,上面的所有按鈕實在是非常陌生,我使用了 10 年的那些快捷鍵發現全部不好使了,我甚至連怎麼導入一個現有的工程都不會了。

我有點受不了了,我受不了的不是對新知識的學習與掌握,而是效率迅速降低 20 倍,甚至一百倍。沒辦法,一個一個問題百度吧。 大概過去了半天到一天,神奇的事情發生了,我竟然不再想繼續用 Eclipse 了,甚至產生了一種如果沒有 IDEA 一切會更麻煩的感覺。於是接下來的四天裡,我開始越來越順暢地編寫起了我的代碼。

新手上路

對於只是使用了五天的我來說,我無論說什麼其實都只是一個新手的廢話,但我還是喜歡總結一下:

Eclipse 和 IDEA 哪個更好?

個人覺得 IDEA 確實比 Eclipse 要更好,但是它的好處並不主要是多了哪些功能,從功能的多少數量上來說,他們倆其實是差不多,IDEA 更優秀的關鍵點不過在於它在細節上更為人性化,做得更優秀而已。

比如配置 Tomcat,我竟然不用百度,自己嘗試點點,就成功跑起來了,那一刻感覺它像是真的懂我的心一樣。

開始使用的一些注意事項

如果你是剛開始編程,那就沒什麼關係,但是像我一樣是用了 Eclipse 很多年的老程序員,那麼快捷鍵一定會是一個障礙,但是 IDEA 已經做了很人性化的設置,默認的快捷鍵可以一鍵改成 Eclipse 的快捷鍵,但是我嘗試後發現,雖然確實改變了大部分,但並不是百分之百,所以我放棄了。

還有就是對工程和模塊要理解好,以前的 Eclipse 都是做工程的概念並沒有模塊的概念,所以你可以把很多的工程都導入進去,但是 IDEA 完全不一樣,它只能導入一個工程,如果你要再導入另外一個工程,必須新開一個界面,當然你不用擔心耗費內存的問題,已經優化好了。但是在一個工程裡面你可以導入多個模塊,其實這更適合我們平常的開發,因為 Maven 就是模塊化的配置。

Tomcat 的設置也非常人性化,通過勾選 Tomcat 實例,就可以一個 Tomcat 多個工程使用了。當然,端口要不同,才能同時啟動。

三個很常用的設置按鈕:

  • Preperences
  • Project structure
  • Run configuration

常用的快捷鍵(Mac):

  • cmd+shift+f 全project或模塊等查找某個字符串
  • cmd+shift+o 查找文件
  • cmd+0 查找類
  • cmd+f 本文件中查找字符串
  • cmd+x 刪除一行
  • cmd+c 選中該行並且複製
  • alt+enter 自動提示錯誤修復
  • ctrl+alt+h 顯示調用該方法的方法
  • cmd+7 顯示該類的全部方法
  • cmd+alt+l 整理代碼格式
  • ctrl+alt+o 整理import
  • shift+f6 重構rename
  • ……
  • 還有很多,基本都和 Eclipse 不同,但是我必須一個個“尋找”回來。

我喜歡的特色功能

  • IDEA 默認下面顯示了 teminal,很好用,現在我很少用 Mac 自帶的終端(雖然 Eclipse 找找也有,但實在不好用)
  • 右手邊有個數據庫連接,我現在也很少用 Navicat 和 MySQL Workbench 了
  • 同樣右邊的 Maven 也很好用,不像 Eclipse 要右鍵,而且默認的還不齊全

JetBrains 確實是偉大的公司,後來我寫 JS,也用了它的 WebStorm;寫 Python 也用了它的 PyCharm 而不是 Eclipse 的 PyDev 了。

雖然斷斷續續又用了一段時間之後,我發現它並沒有想象中完美:

  • 偶爾有些卡,畢竟太多東西放內存,而且也出現過閃退;
  • 快捷鍵實在還有些記不住,有個快捷鍵要按四個鍵太難記了。有些個別功能感覺還是有點不如 Eclipse 方便,比如改字符集(也可能只是我不熟悉),斷點調試也還不習慣;
  • 也有很多功能真的要把 Eclipse 徹底忘記,比如重構 rename,IDEA 竟然默認把同名的都 rename 掉。我重構個我自己寫的類的 get 方法,它把 map.get 的 get 也 rename 掉了,真的有點無語。不過習慣就好,總比漏了一些 rename 自己慢慢改好。

再見,Eclipse。


分享到:


相關文章: