再見,Eclipse。
閱讀本文大概需要 5 分鐘。
來源:cnblogs.com/ouyida3/p/9901312.html
最近,改用了 IDEA,同事都說我投敵了。當然,這些同事都是和我一樣的“老”程式設計師。不說畢業生,公司裡的 90 後基本電腦都不會安裝 Eclipse。
Eclipse的三足鼎立時期
開始我寫 Java 程式,用的並不是 Eclipse,而是用的一款叫做 JBuilder 的工具。當時使用這個工具的時候,我已經覺得非常好用了,因為在此之前,我記得好像只是用個簡單的文字工具來編輯。後來才發現,那些喜歡宣揚文字編輯器才能精通 Java 的“高手”真的有點不敢恭維,至少於我而言,一個好的工具太重要了。
並沒有過了多久,我發現一款叫做 Eclipse 的工具,而且身邊用的人還越來越多,於是我決定試一試。嘗試的結果就是我發現它實在是太好用了,介面變得更漂亮之餘,裡面的功能感覺就是為程式設計師量身定做的一樣,最激動人心的功能是他竟然支援源源不斷的外掛,而且這個外掛還可以自己來編寫。
Eclipse 2001 年由 IBM 創立,2003 年就成立了基金會,可惜國內在那個時代總歸要慢一步,而我則更落後——直到 07、08 年才開始真正使用。《程式設計師》在 2006 年還出了一期專題——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 都有完善相應的版本外掛支援。
其實在這段過程中,我也曾不斷詢問已經轉向 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 不同,但是我必須一個個“尋找”回來。
我喜歡的特色功能
-
DEA 預設下面顯示了 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。
·END·
程式設計師的成長之路
路雖遠,行則必至
本文原發於 同名微信公眾號「程式設計師的成長之路」,回覆「1024」你懂得,給個讚唄。
往期精彩回顧
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69902700/viewspace-2643267/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 再見,Eclipse...Eclipse
- 【Android Eclipse】Eclipse 引用 library 時的常見異常AndroidEclipse
- 再見2022
- 再見,2019
- 再見,CentOS!CentOS
- 再見,Flash
- 再見、你好
- 再見2018
- 2018再見!
- 再見,CommonsChunkPluginPlugin
- 再見了滴滴,再見了位元組跳動
- 再見,晚晚
- 再見!CentOS 6CentOS
- 要再見了2020
- 再見2020,你好2021
- 再見,2020;你好,2021!
- 再見2020,你好2021!
- 再見2021,2022加油!
- 再見!百度防毒......防毒
- 你好掘金,再見簡書
- 再見,BLE的那些坑!
- 再見了,我的散裝研發管理平臺;再見了,4臺ECS!
- 再見了,所有的 Educational DP
- 泰格·伍茲:再見,耐克
- 演算法金 | 再見!!!KNN演算法KNN
- 再見!onActivityResult!你好,Activity Results API!API
- 歲末將至,再見 2021
- 再見了,位元組跳動
- 再見,視覺化!你好,Pandas!視覺化
- 再見,平井一夫!
- 再見,Python!你好,Go語言PythonGo
- Andromeda OS 來了,Android 再見?Android
- 共享單車,不想說再見
- 再見JQuery,我的老朋友jQuery
- 演算法金 | 再見!!!K-means演算法
- 再見了Antirez永遠的Redis之神Redis
- Fastjson到了說再見的時候了ASTJSON
- 再見,深圳~長沙,我又來啦