為何 IntelliJ IDEA 比 Eclipse 更好[轉(zhuǎn)]

圣戰(zhàn)
有一些沒有唯一正確答案的“永恒”的問題贪壳,例如哪個更好:是Windows還是Linux顷歌,Java還是C#演侯;誰更強(qiáng)壯:Chuck Norris還是Van Damme憔四。
其中的一個圣戰(zhàn)便是Java IDE的選擇:

Intellij VS Eclipse

有許多爭論的話題是討論它們哪個有更多的插件、快捷鍵等等措拇。它們之間有太多的不同而很難決定什么才是最重要的我纪。
因此,人們都表示兩個IDE在功能性上都差不多丐吓,選擇某一個則是個人喜好問題了宣羊。
我認(rèn)為這不僅僅是個人喜好的問題,有客觀的原因能表明:Intellij IDEA 肯定比Eclipse更好.
我不會去大量比較兩者細(xì)微不同汰蜘,例如插件與快捷鍵之類的。因?yàn)橛幸幌盗械腷log是關(guān)于這些的之宿。我將會展示IDEA與Eclipse的一個最大的不同之處族操。通常IDEA和Eclipse的fans都不曾了解。前者已經(jīng)習(xí)慣性的使用著它而不曾想象IDE缺少它會怎樣比被,后者則沒有使用它的習(xí)慣且難以想象有了它IDE能做得這么好色难。Eclipse的用戶在把玩IDEA的時候通常都不會意識到這個不同點(diǎn),因?yàn)樗麄兞?xí)慣了以Eclipse模式工作等缀。
為何我如此確信枷莉?
在開始說明之前,讓我解釋一下我是誰和為什么我的觀點(diǎn)值得一聽尺迂。
我使用Eclipse已經(jīng)5年之久笤妙,我很了解它冒掌,我為它編寫插件并真心地喜愛它。然后蹲盘,我換了一個公司工作股毫,并被強(qiáng)行轉(zhuǎn)移到IDEA上開發(fā),在這次“分手”后召衔,我才最終意識到為什么IDEA更加敏銳铃诬。而如今我我已經(jīng)使用IDEA一些年了,所以我能比較它們兩者苍凛,因?yàn)槲伊私馑鼈儭?br> IDEA與Eclipse主要的不同
IDEA之所以更加敏銳的原因是:IDEA懂得上下文趣席。這也是JetBrains員工命名IDEA為intelligent的原因。它真正的含義又是什么呢醇蝴?IDEA檢索你的整個項(xiàng)目宣肚,分析項(xiàng)目所有的內(nèi)容,甚至構(gòu)建語法樹哑蔫。幸虧有它钉寝,在任何時候無論你將鼠標(biāo)放置在哪里,IDEA都知道你在哪里并知道在那能干什么闸迷。
仍舊不了然嵌纲?別擔(dān)心,在列舉了以下幾個例子后腥沽,一切就清楚了逮走。
這種對上下文的理解表現(xiàn)在很多很多方式上,以下只是其中的一部分今阳。

  1. 調(diào)試
    通常在調(diào)試過程中师溅,我們想要求一些表達(dá)式的值,在Eclipse中你需要選定這個表達(dá)式盾舌,選定整個表達(dá)式非常重要墓臭,否則你就沒法求出它的值。然后妖谴,你可以使用Ctrl+Shift+I看到這個表達(dá)式的值窿锉。



    使用IDEA你不需要選擇任何東西,你只需要把光標(biāo)移到你的表達(dá)式中然后按下Alt+F8膝舅。IDEA會很好的理解這個你可能需要的表達(dá)式嗡载,然后顯示一個對話窗口,其中有一些它給出的建議參數(shù)變量仍稀。你也可以編輯并在對話框中立即將得到這個表達(dá)式的值洼滚。相當(dāng)?shù)姆奖悖≡囘^這個特性后技潘,你就不會再想在Eclipse中調(diào)試了遥巴。



    基本上在兩個IDE上都能讓你做同樣的事千康,但是使用IDEA會更加簡單和快速。對此我認(rèn)真的表示挪哄,這個差異太大了:就像天堂跟人間一樣吧秕。在一個小小的IDEA對話窗口中就提供了自動完成,語法高亮以及你需要的一切迹炼。
  2. 自動完成
    自動完成使得IDE比notepad更加優(yōu)秀砸彬,在這個領(lǐng)域能感知上下文的IDEA有了質(zhì)的飛躍。例如斯入,我們開始如下一行代碼:
    assertElement(By.id("errorMessage"), vi
    現(xiàn)在我們想要查找以vi開頭的選項(xiàng)有哪些砂碉。
    IDEA怎么做的呢?無需等待任何的按鍵刻两,它馬上就能理解assertElement需要一個Conditaion類的示例作為第二個參數(shù)增蹭,而在Condition類中有一個靜態(tài)變量名叫visible。IDEA會直接建議這個唯一的有效選項(xiàng)磅摹。



    然而滋迈,Eclipse會怎么做呢?唉户誓,它不能理解上下文饼灿,它不知道光標(biāo)所在處就是assertElement方法的第二個參數(shù)。因此當(dāng)你按下“神圣”的Ctrl+Space時帝美,Eclipse只會簡單的顯示全局中以vi字母開頭的一切碍彭。



    在一個美麗的彈出框中我看到了很多漂亮的高亮的格式規(guī)范的無用的信息.:(
  3. 重構(gòu)
    專業(yè)的程序員能夠高效的使用IDE提供的重構(gòu)功能。所有的現(xiàn)代IDE都提供許多印象深刻的重構(gòu)功能悼潭。但是還是那句庇忌,IDEA的重構(gòu)功能也很聰明智能。它們能讀懂你需要什么舰褪,然后針對不同的情況提供給你最適合的解決方案皆疹。
    例如,假設(shè)我們有一個assertErrorMessageIsHidden方法:
public void assertErrorMessageIsHidden() { 
    assertElement(By.id("errorMessage"), Condition.visible);}

我們以字符串“errorMessage”作為該方法的一個參數(shù)占拍。
讓我們先從IDEA開始墙基,將光標(biāo)放在任何字符串“errorMessage”上,按Ctrl+Alt+P(代表“parameter”)刷喜,IDEA將會建議我們可能可以在哪些表達(dá)中用次字符串為參數(shù)。



當(dāng)“errorMessage”表達(dá)式被選定以后立砸,IDEA將會建議一些可能的能用做該參數(shù)的變量名稱掖疮。



每月驚奇
你會經(jīng)常地驚訝于IDEA的聰敏表現(xiàn),比如它為你提示一些選項(xiàng)的名稱颗祝。它考慮到方法名稱浊闪,變量類型甚至是變量值恼布,以及其他的此類變量的名稱,與之前你給定的此變量的名稱搁宾,除了忽略了你的生肖折汞。相信我,你會想說“Wow,IDEA也能這樣盖腿?”爽待,我想說至少每個月一次吧。

現(xiàn)在然我們看看Eclipse是怎么樣給出建議的翩腐。

別忘了鸟款,選擇整個"errorMessage"表達(dá)式哦。選擇一個“推薦參數(shù)”的重構(gòu)功能(通過菜單茂卦,沒有什么快捷鍵可供使用)何什,獲得差不多相同的結(jié)果,然而等龙,Eclipse不會給出變量名提示選項(xiàng)处渣,但幸虧不會。


結(jié)論
如果我們選擇Java IDE蛛砰,那么Intellij IDEA肯定要比Eclipse好的罐栈。這不僅僅是個人喜好問題。從客觀上看暴备,IDEA更好悠瞬。它是的你能夠快捷地編寫和修改代碼。它給出恰當(dāng)?shù)拿Q提示涯捻,查找適合的方法浅妆。它不需要你特別地選擇表達(dá)式便會猜測到你想要做的以及你想如何對它命名。IDEA預(yù)示著并給你提示障癌。
P.S. Remarks
我認(rèn)為IDEA在作為Java IDE時確實(shí)比Eclipse更好凌外。如果你考慮他們其他方面的能力例如用于其他例如C++、Python涛浙、Scala的IDE上康辑,或者是作為構(gòu)建桌面的應(yīng)用的平臺,Eclipse很有可能拔得頭籌轿亮。
事實(shí)上這是依賴于對他們的定義的疮薇,Eclipse已將自己定位為一個抽象平臺,用來使用插件構(gòu)建任何工具我注,而IDEA則定位為一個“智能的Java IDE”按咒,而且它正如此。
作為紀(jì)念我就嘗試著列絕一些Eclipse可能比IDEA更好的地方:
Eclipse看上去更棒但骨,所有大題小做的SWT以及本地控件都用的很值励七。Eclipse看上去很穩(wěn)定的深思熟慮過的程序智袭,它有著漂亮的字體以及圖標(biāo)。然而當(dāng)?shù)谝谎劭吹絀DEA是掠抬,它像是作噱頭的玩具一樣吼野,有著不完全的圖標(biāo)以及笨拙的Swing界面。
Eclipse擁有更強(qiáng)的項(xiàng)目結(jié)構(gòu)支持两波。在IDEA中瞳步,你的項(xiàng)目是有模塊組成。在Eclipse中你擁有一個由工程組成的工作區(qū)雨女,每個工程都能被單獨(dú)打開或關(guān)閉谚攒,分組或隱藏。但是你真的需要么氛堕?
為Eclipse編寫插件似乎很簡單
IDEA比Eclipse使用更多的系統(tǒng)資源馏臭。這其實(shí)也說得通--因?yàn)镮DEA了解得更多
最后,Eclipse是免費(fèi)的讼稚,然而IDEA Community版本已經(jīng)夠我用了

最后的建議
如果你需要漂亮的圖標(biāo)括儒,用來創(chuàng)建桌面程序的平臺,C++IDE或者你用一個低配的筆記本工作锐想,那么Eclipse可能對你來說是更好的選擇帮寻。但是如果你是一個正兒八經(jīng)的Java開發(fā)者,你需要更快更方便的工具幫你集中注意于解決問題而不是讓你分心赠摇,IDEA則正是你所需要的固逗。

via:dzone.com ,OSChina原創(chuàng)編譯

本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或編譯藕帜。歡迎任何形式的轉(zhuǎn)載烫罩,但請務(wù)必注明出處,尊重他人勞動共創(chuàng)開源社區(qū)洽故。
轉(zhuǎn)載請注明:文章轉(zhuǎn)載自 開源中國社區(qū) [http://www.oschina.net]
本文標(biāo)題:為何 IntelliJ IDEA 比 Eclipse 更好
本文地址:https://www.oschina.net/news/26929/why-intellij-is-better-than-eclipse

更多Intellij文章:
IntelliJ使用技巧文章匯總
IntelliJ IDEA兩種keymap快捷鍵方案Mac OS X和Mac OS X 10.5+的區(qū)別
Intellij idea用快捷鍵自動生成序列化id
IntelliJ IDEA智能提示忽略大小寫

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末贝攒,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子时甚,更是在濱河造成了極大的恐慌隘弊,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件荒适,死亡現(xiàn)場離奇詭異梨熙,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)刀诬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進(jìn)店門串结,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事肌割。” “怎么了帐要?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵把敞,是天一觀的道長。 經(jīng)常有香客問我榨惠,道長奋早,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任赠橙,我火速辦了婚禮耽装,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘期揪。我一直安慰自己掉奄,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布凤薛。 她就那樣靜靜地躺著姓建,像睡著了一般。 火紅的嫁衣襯著肌膚如雪缤苫。 梳的紋絲不亂的頭發(fā)上速兔,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天,我揣著相機(jī)與錄音活玲,去河邊找鬼涣狗。 笑死,一個胖子當(dāng)著我的面吹牛舒憾,可吹牛的內(nèi)容都是我干的镀钓。 我是一名探鬼主播,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼珍剑,長吁一口氣:“原來是場噩夢啊……” “哼掸宛!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起招拙,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤唧瘾,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后别凤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體饰序,經(jīng)...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年规哪,在試婚紗的時候發(fā)現(xiàn)自己被綠了求豫。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖蝠嘉,靈堂內(nèi)的尸體忽然破棺而出最疆,到底是詐尸還是另有隱情,我是刑警寧澤蚤告,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布努酸,位于F島的核電站,受9級特大地震影響杜恰,放射性物質(zhì)發(fā)生泄漏获诈。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一心褐、第九天 我趴在偏房一處隱蔽的房頂上張望舔涎。 院中可真熱鬧,春花似錦逗爹、人聲如沸亡嫌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽昼伴。三九已至,卻和暖如春镣屹,著一層夾襖步出監(jiān)牢的瞬間圃郊,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工女蜈, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留持舆,地道東北人。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓伪窖,卻偏偏與公主長得像逸寓,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子覆山,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 爭論 有一些沒有唯一正確答案的“永恒”的問題竹伸,例如,更好的是:Windows還是Linux簇宽,Java還是C#勋篓;誰更...
    程序員BUG閱讀 421評論 0 2
  • 閱讀本文大概需要 4.2 分鐘。 本文為譯文魏割,翻譯:彭博 https://www.oschina.net/news...
    良月柒閱讀 14,083評論 0 13
  • 春梅花開千萬朵譬嚣,游人駐足不忍過。 但愿人間春常在钞它,大千世界充滿愛拜银。
    梅園飛雪閱讀 336評論 4 15
  • 白瓊格焦點(diǎn)解決初級十期堅持分享第250天 今天約練殊鞭,我是觀察員。兩位老師都特別厲害尼桶,對角色也沒有太多要求操灿,我們就想...
    潼寶的開心果閱讀 268評論 0 0
  • I always comfort myself that I told my heart just to be e...
    尼古拉斯包閱讀 302評論 0 0