使用了eclipse10年之後,我終于投向了IDEA。
當然還有這裏同樣大家支持idea: 爲什麽 IDEA 比 Eclipse 更好?
最近,改用了idea,同事都說我投敵了。當然,這些同事都是和我一樣的“老”程序員。不說畢業生,公司裏的90後基本電腦都不會安裝eclipse。
一、eclipse 的三足鼎立時期
開始我寫Java程序,用的並不是eclipse,而是用的一款叫做jbuilder的工具。當時使用這個工具的時候,我已經覺得非常的好用,因爲在此之前,我好像記得只是用個簡單的文本工具來編輯。後來才發現,那些喜歡宣揚文本編輯器才能學會精通java的“高手”真的有點不敢恭維,至少于我,一個好的工具太重要了。
並沒有過了多久,我發現一款叫做eclipse的工具,而且身邊還越來越多,于是我決定試一試。嘗試的最後,我發現實在是太好用了,他的界面變得更漂亮,而且裏面的功能感覺就是爲程序員量身定做的一樣,最激動人心的功能是他竟然支持源源不斷的插件,而且這個插件你還可以,自己來編寫。
eclipse2001年由ibm創立,2003年就成立基金會,可惜國內嘛,在那個時代,總是要晚一些,而我更落後,直到07、08年才開始真正使用。《程序員》在06年還出了一起專題"eclipse風暴"。那時候,eclipse、jbuilder、netbean三足鼎立的局面,基本形成了— eclipse 稱霸。
再後來myeclipse出現了這個東西更加厲害,他集成了所有常用的插件,只要你一鍵安裝完就啥也有了,基本上用它,你可以開發出java的任何東西。雖然他不是免費的。
慢慢的,jbuilder已經沒什麽人使用;而netbean不知道是不國內還是我圈子太窄,身邊用的人總是很少,倒是在國外翻譯的技術書裏經常和eclipse一同出現。
重構的流行,讓eclipse更受青睐。熊節在《重構》譯本裏推薦eclipse,後來我親眼看了他使用eclipse純鍵盤(基本不用鼠標)飛快的重構代碼,有點傻了眼。後來背誦快捷鍵成了我的一項課題。
在接下來接近10年的日子裏,就是他陪著我度過了漫長又有意思的編程生涯。雖然經常有人爭論用簡單版的eclipse好還是用豐富的myeclipse好,用豐富版的經常會嘲笑用簡單的,什麽都沒有,什麽插件都得重新來一遍,用簡單版的又會鄙視使用豐富版的,什麽插件都不會安裝。我曾經見過有一個同事,使用的滾瓜爛熟,每一個插件在文件夾下叫什麽名字應該刪除哪些文件應該放在什麽地方,應該增加哪些配置,怎麽安裝怎麽卸載都倒背如流,隨後我也慢慢學會了這招。再後來插件安裝,已經不需要這麽麻煩了,只需要在市場上搜索一下,點擊一下安裝就可以了。但是這些功能的改進並沒有讓他免除用戶群慢慢轉移的危機。
二、Intellij IDEA 橫空出世
其實很久之前我就聽說idea非常好用,說只要使用過後就不會在使用eclipse了。還說JetBrains這家公司怎麽怎麽懂得java程序員。但是,我實在找不到什麽改變的理由,所以一直沒有嘗試使用。況且,我還需要開發c++、python,這些語言,eclipse都有完善相應的版本插件支持。
其實中間,我也不斷地詢問已經轉向使用的同事,我問他究竟別/好像哪裏?但是沒有一個同事能夠清晰的回答我這個問題。大部分的同事只是說就是很好用,你如果細細地問他好在哪兒,他卻說不出來。還有一些同事確實列舉了一些,他認爲更爲好用的功能,然後告訴我,然後我聽完之後告訴他,其實這些功能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方便比如改字符集(也可能我不熟悉)。斷點調試也還不習慣。也有很多功能真的要把eclipse徹底忘記,比如重構rename,idea默認竟然把同名的都rename掉。我重構個我自己寫的類的get方法,它把map.get的get也rename掉了,真的有點無語。不過習慣就好,總比漏了一些rename自己慢慢改好。