最近,改用了 IDEA,同事都說我投敵了。固然,這些同事都是和我同樣的「老」程序員。不說畢業生,公司裏的 90 後基本電腦都不會安裝 Eclipse。git
開始我寫 Java 程序,用的並非 Eclipse,而是用的一款叫作 JBuilder 的工具。當時使用這個工具的時候,我已經以爲很是好用了,由於在此以前,我記得好像只是用個簡單的文本工具來編輯。後來才發現,那些喜歡宣揚文本編輯器才能精通 Java 的「高手」真的有點不敢恭維,至少於我而言,一個好的工具過重要了。程序員
並無過了多久,我發現一款叫作 Eclipse 的工具,並且身邊用的人還愈來愈多,因而我決定試一試。嘗試的結果就是我發現它實在是太好用了,界面變得更漂亮之餘,裏面的功能感受就是爲程序員量身定作的同樣,最激動人心的功能是他居然支持源源不斷的插件,並且這個插件還能夠本身來編寫。github
Eclipse 2001 年由 IBM 創立,2003 年就成立了基金會,惋惜國內在那個時代總歸要慢一步,而我則更落後——直到 0七、08 年纔開始真正使用。《程序員》在 2006 年還出了一期專題——Eclipse 風暴。數據庫
那時,Eclipse、JBuilder、NetBean 三足鼎立的局面已經基本造成了。編程
再後來出現了更加厲害的 MyEclipse,它集成了全部經常使用插件,只要你一鍵安裝完就啥都有了,經過它你基本上能夠開發出 Java 的任何東西(雖然它不是免費的)。hexo
慢慢地,JBuilder 已經沒什麼人再使用了;至於 NetBean,不知道是不由於處於國內仍是我圈子太窄,身邊用的人老是不多,卻是在國外翻譯的技術書裏常常和 Eclipse 一同出現。編輯器
重構的流行,讓 Eclipse 更受青睞。熊節在《重構》譯本里推薦 Eclipse,後來我親眼看了他使用 Eclipse 純鍵盤(基本不用鼠標)飛快地重構代碼,有點傻了眼。後來背誦快捷鍵成了個人一項課題。模塊化
在接下來接近 10 年的日子裏,就是它陪着我度過了漫長又有意思的編程生涯。雖然常常有人爭論用簡單版的 Eclipse 好仍是用豐富的 MyEclipse 好,用豐富版的常常會嘲笑用簡單的,什麼都沒有,什麼插件都得從新來一遍,用簡單版的又會鄙視使用豐富版的,什麼插件都不會安裝。我曾經見過有一個同事,使用時對一切都倒背如流——每個插件在文件夾下叫什麼名字、應該刪除哪些文件、應該放在什麼地方、應該增長哪些配置、怎麼安裝怎麼卸載都滾瓜爛熟,隨後我也慢慢學會了這招。再後來插件安裝,已經不須要這麼麻煩了,只須要在市場上搜索再點擊一下安裝就能夠了。但這些功能的改進並無令其免除用戶羣慢慢轉移的危機……工具
其實好久以前我就據說 IDEA 很是好用,說只要使用事後就不會在使用 Eclipse 了。還說 JetBrains 這家公司怎麼這麼懂 Java 程序員。可是,我實在找不到什麼改變的理由,因此一直沒有嘗試使用。何況我還須要開發 C++、Python 這些語言,Eclipse 都有完善相應的版本插件支持。學習
其實在這段過程當中,我也曾不斷詢問已經轉向 IDEA 的同事,想知道它究竟特別/好在哪裏,但沒有一個同事可以清晰地回答我這個問題。大部分同事只是說就是很好用,你若是細細地問好在哪兒,他卻說不出來。
還有一些同事確實列舉了一些他認爲更爲好用的功能,但我聽完以後會告訴他,其實這些功能 Eclipse 也有。還有一個同事更搞笑,用了兩個月以後表示很是好用,而後我叫他把字體調大一些讓我看看,他居然說不知道怎麼調——這些經歷實在讓我想不出什麼要改變的理由。
可是契機出如今不久前的一次公司組織的培訓,這幾位培訓不約而同的是都使用 IDEA 來培訓。其實,工具的不一樣並對培訓知識的吸取並無太大影響,但我實在忍受不了我明明花了一個小時聽培訓,可是隻聽了 55 分鐘的知識,剩餘 5 分鐘關於工具的使用技巧也應該吸取過來。再加之早就據說 Robert C Martin 也許已從 Eclipse 轉向了這個工具,我終於決定要改變一下了。
改變第一天的安裝過程很是順利,官網提供免費版和試用版,我固然絕不猶豫地選擇試用版,至於 30 天之後,我們心領神會——再說。安裝事後固然是黑糊糊的一個界面,上面的全部按鈕實在是很是陌生,我使用了 10 年的那些快捷鍵發現所有很差使了,我甚至連怎麼導入一個現有的工程都不會了。
我有點受不了了,我受不了的不是對新知識的學習與掌握,而是效率迅速下降 20 倍,甚至一百倍。沒辦法,一個一個問題百度吧。 大概過去了半天到一天,神奇的事情發生了,我居然再也不想繼續用 Eclipse 了,甚至產生了一種若是沒有 IDEA 一切會更麻煩的感受。因而接下來的四天裏,我開始愈來愈順暢地編寫起了個人代碼。
對於只是使用了五天的我來講,我不管說什麼其實都只是一個新手的廢話,但我仍是喜歡總結一下:
我的以爲 IDEA 確實比 Eclipse 要更好,可是它的好處並不主要是多了哪些功能,從功能的多少數量上來講,他們倆實際上是差很少,IDEA 更優秀的關鍵點不過在於它在細節上更爲人性化,作得更優秀而已。
好比配置 Tomcat,我居然不用百度,本身嘗試點點,就成功跑起來了,那一刻感受它像是真的懂個人心同樣。
若是你是剛開始編程,那就沒什麼關係,可是像我同樣是用了 Eclipse 不少年的老程序員,那麼快捷鍵必定會是一個障礙,可是 IDEA 已經作了很人性化的設置,默認的快捷鍵能夠一鍵改爲 Eclipse 的快捷鍵,可是我嘗試後發現,雖然確實改變了大部分,但並非百分之百,因此我放棄了。
還有就是對工程和模塊要理解好,之前的 Eclipse 都是作工程的概念並無模塊的概念,因此你能夠把不少的工程都導入進去,可是 IDEA 徹底不同,它只能導入一個工程,若是你要再導入另一個工程,必須新開一個界面,固然你不用擔憂耗費內存的問題,已經優化好了。可是在一個工程裏面你能夠導入多個模塊,其實這更適合咱們日常的開發,由於 Maven 就是模塊化的配置。
Tomcat 的設置也很是人性化,經過勾選 Tomcat 實例,就能夠一個 Tomcat 多個工程使用了。固然,端口要不一樣,才能同時啓動。
Preperences
Project structure
Run configuration
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。
擴展閱讀
IntelliJ IDEA 使用教程(2019圖文版) -- 從入門到上癮
IntelliJ Idea 經常使用快捷鍵 列表(實戰終極總結!!!!)
做者:Danni3