前言:經歷了從eclipse到Myeclipse的時間,大學時候用Eclipse,開始工作的時候選擇Myeclipse,都能體會到Java的IDE的先進和高明之處,直到最近,公司項目采git和Gradle構建,我的領導兼上司告訴我用Intelj idea這個開發工具要很好多,其實之前也聽說過Intelj idea的大名,號稱是最智能的IDE。我用了一段時間,發現很多驚喜之處,這才下定決心從Myeclipse轉到Idea上去,本篇博客就來講講idea優勝於Myeclipse的幾大優點:

一: idea的優勝於myeclipse的幾點:
1:流暢度和集成工具:Intelj idea完美集成了maven、gradle、git、svn等版本控制工具,而在myeclipse中這些插件的兼容性都比較差,myeclipse運行本來就占內存,運行很卡頓,再用插件用起來很卡,同一台機器測試下,idea要比myeclipse流暢很多。以下的測試數據來源於我的筆記本,window10系統,任務管理器下,Myeclipse占用內存812.5MB,而Intelj idea是520.7MB,cpu:myeclipse是12.2% idea是0.1%。其中Myeclipse版本是:2016-stable,idea是2016.3.4版本

2:反編譯和debug:LIntelj idea自帶反編譯效果,這樣就可以愉快的看源碼了,遇到問題可以直接點進去源碼看,這對於我們技術的提升大有裨益。而在myeclise中需要安裝反編譯插件,我使用了myeclipse有一年之久,其中安裝反編譯插件失敗了很多次,配置麻煩。並且idea還有個逆天的功能就是斷點可以跑到源碼包里顯示變量的值,這在myeclipse是不可能做到的.debug中可以直接顯示一個對象的字段的值,而myeslipe你需要鼠標移動上去才會jar包中的源碼,可以直接點進去查看源碼

3:搜索:Intelj idea在全局搜索(ctrl+shirt+F)的時候基本都是秒到的,而myeclipse搜索需要漫長的等待。這對於加快工作效率很重要,因為搜索關鍵字段這個功能在代碼編程中太容易用得到了。而idea在這方面更勝一籌

4:uml圖:關於畫類的繼承結構圖,myeclipse中繼承了uml工具,可以做到手動畫,而在Intelj idea中是可以直接自動完成的,只需要在類上面點擊show Digram,直接畫出標准的結構類圖,層次結構分明,省去了我們很多時間。以下是利用idea自動構建的ArrayList的層次結構UML圖:

5:提示功能:intelj idea的智能提示功能,細節做的很完善,說個小細節,它的自動補全,如果你加了分號,它是不會再給你加的。而在myeclipse中首先你得開起全部字母的匹配提示,因為它默認的只是.觸發提示,然后你開啟了,假如輸入個String變量它非得給你加個后面string,這點很煩人,我曾想過解決方法,百度谷歌一大推,找到了教程也是很麻煩的.以下圖是myeclipse的代碼提示功能開啟,而idea是不需要配置的

6:對於jsp、xml的支持:myeclipse對jsp支持可以用‘爛’這個詞形容了,提示功能你手動得開啟,經常莫名的xml自動校驗,一些沒有出錯的代碼也給你報錯,首先是一大堆的校驗,還很難取消搞的人很懊惱。而idea這些煩惱都是沒有的,對jsp、xml的支持很棒,並且有很多非常好的快捷輸入方式,舉個例子:你輸入ul:li*5,按下tab鍵就可以出來一個ul和5個li的選項卡等等
7:重構:一堆復雜的亂代碼,通過idea很快就可以完成重構,抽取方法、變量、方法重命名,代碼檢測,在myeclispe也是支持重構的,不過並沒有idea如此強大
8:本地歷史:這是個小功能,但是在myeclispe中沒有出現,你對於一個文件的修改歷史,可以完整的看到,包括幾點修改、修改了什么,並且可以隨時恢復,這點對於誤操作很重要。myeclipse中有時候編程忘記了自己修改了什么,只能通過ctrl+Z來回退,想象你退回去了,新的操作又沒了,又得重新修改,很麻煩。以下圖示本地歷史功能的演示,其中可以看到昨天和前幾天的修改,都很清楚明了

9:自動感知框架,當你的項目用了java框架的時候,idea可以“感受”出來,它會提供給你很多建議和優化的忠告
二:idea的不足之處
1:插件沒有myeclipse豐富,這個和myeclipse的悠久的歷史有很大的關系,idea畢竟誕生的時間沒有myeclipse時間那么彌久,因此在插件豐富程度上要輸於它的。但是大部分插件idea是有的,並且支持的的很好,比如小y前陣子接受公司的一個項目,名字叫ZKoss,聽過的人很少吧。之前是用myeclipse開發啊,它有zkoss中zul視圖的插件,我以為idea沒有,但是當我導入的時候,它自動我提示安裝插件(很人性化,必須贊一個)
2:目前很多項目是用myeclipse寫的,而idea的項目結構又不遵循eclipse定制的那套結構,因此在轉化的期間就會很不習慣
3:idea的學習成本要比myeclipse高,因為它有很多的新的概念,尤其在轉換ide的時候會遇到很多問題,比如在myeclipse中很司空見慣的配置tomcat,在idea中就成了比較棘手的問題,我也是網上找了很多教程,才學會怎樣在idea中配置tomcat.
總結:關於idea,我說的遠不止這些,還有很多令人驚喜的功能,總體來說它是一個很智能、靈活的IDE,另外一點,我也並不是貶低myeclispe,畢竟我也用了很久,對myeclipse也有一份感情,它也有很方便之處。但是IDE在進步,編程技術在進步,我個人會選擇Intelj idea。經常使用idea,對你的編程水平是大有裨益的!
一款好的編程IDE,就像春雨一般潤物細無聲,悄悄滲透在你的編程的一支支細節之中,提升你在編程中的體驗。