天天看點

從Myeclipse到Intelj Idea

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

從Myeclipse到Intelj Idea

一: 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版本

從Myeclipse到Intelj Idea

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

從Myeclipse到Intelj Idea

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

從Myeclipse到Intelj Idea

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

從Myeclipse到Intelj Idea

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

從Myeclipse到Intelj 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來回退,想象你退回去了,新的操作又沒了,又得重新修改,很麻煩。以下圖示本地曆史功能的示範,其中可以看到昨天和前幾天的修改,都很清楚明了

從Myeclipse到Intelj Idea

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,就像春雨一般潤物細無聲,悄悄滲透在你的程式設計的一支支細節之中,提升你在程式設計中的體驗。