IDEA全稱(cheng)IntelliJ IDEA,是(shi)java編程語(yu)(yu)言(yan)(yan)開(kai)發(fa)的(de)集成環境。IntelliJ在業界被公(gong)(gong)認(ren)為最好的(de)java開(kai)發(fa)工具,尤其在智能代碼(ma)助手、代碼(ma)自動提示、重構、JavaEE支持(chi)、各類版(ban)本(ben)工具(git、svn等(deng)(deng))、JUnit、CVS整(zheng)合(he)、代碼(ma)分析、新的(de)GUI設計(ji)等(deng)(deng)方(fang)面的(de)功能可以說是(shi)超常的(de)。IDEA是(shi)JetBrains公(gong)(gong)司的(de)產品(pin),這家公(gong)(gong)司總部位于(yu)捷克共和國的(de)首都布拉格(ge),開(kai)發(fa)人員以嚴謹著稱(cheng)的(de)東歐程序員為主。它(ta)的(de)旗艦版(ban)本(ben)還支持(chi)HTML,CSS,PHP,MySQL,Python等(deng)(deng)。免(mian)費版(ban)只支持(chi)Java,Kotlin等(deng)(deng)少數語(yu)(yu)言(yan)(yan)。
最突出的功能自然是調試(Debug),可以對Java代碼,JavaScript,JQuery,Ajax等技術進行調試。比如查(cha)看Map類型的(de)(de)對(dui)象,如果實(shi)現類采用的(de)(de)是哈希映射,則會(hui)自動過濾空的(de)(de)Entry實(shi)例。
其(qi)次,需要(yao)動態Evaluate一個(ge)表(biao)達式的值,比如我得到了(le)一個(ge)類的實例,但是并不知曉它(ta)的API,可以通過Code Completion點出它(ta)所(suo)支持的方法。
最后,在多線(xian)程調(diao)試的情(qing)況下,Log on console的功能可(ke)以幫你檢查多線(xian)程執行的情(qing)況。
IDEA所提倡(chang)的是(shi)(shi)智(zhi)能編碼,是(shi)(shi)減少程(cheng)序員(yuan)的工作,IDEA的特色(se)功能有以下22點:
在(zai)(zai)很(hen)多時(shi)候我們要選取某個方(fang)法(fa),或(huo)某個循(xun)環(huan)或(huo)想一(yi)步(bu)一(yi)步(bu)從(cong)一(yi)個變量到整個類慢慢擴(kuo)充著選取,IDEA就提供(gong)這種基于語(yu)法(fa)的(de)選擇,在(zai)(zai)默(mo)認設置中Ctrl+W,可以實(shi)現選取范圍的(de)不斷擴(kuo)充,這種方(fang)式在(zai)(zai)重構的(de)時(shi)候尤其(qi)顯得(de)方(fang)便。
IDEA提供了豐富的(de)導航查看模式,例如Ctrl+E顯(xian)(xian)示最近打開(kai)過的(de)文件(jian),Ctrl+N顯(xian)(xian)示你(ni)希望顯(xian)(xian)示的(de)類名(ming)查找(zhao)框(該(gai)框同樣有智能補充(chong)功(gong)能,當你(ni)輸入字母后IDEA將顯(xian)(xian)示所有候選(xuan)(xuan)類名(ming))。在最基本的(de)project視(shi)圖(tu)中,你(ni)還(huan)可以選(xuan)(xuan)擇多(duo)種(zhong)的(de)視(shi)圖(tu)方(fang)式。
不用通過版(ban)本(ben)管理服務器,單(dan)純(chun)的(de)IDEA就可以查(cha)看任何工程中(zhong)文(wen)件的(de)歷史記錄(lu),在版(ban)本(ben)恢復時你可以很容易的(de)將其恢復。
IDEA是所(suo)有IDE中(zhong)早支持重構(gou)的,其優秀的重構(gou)能力一直是其主(zhu)要(yao)賣(mai)點之一。
Java規范中提倡的toString()、hashCode()、equals()以(yi)及(ji)所有(you)的get/set方法(fa),你可以(yi)不(bu)用進(jin)行任何(he)的輸(shu)入就可以(yi)實(shi)現代碼(ma)(ma)的自動生成,從而把(ba)你從無聊的基本(ben)方法(fa)編碼(ma)(ma)中解放出來。
基本所有(you)(you)的(de)IDE都有(you)(you)重(zhong)排版(ban)功(gong)能,但僅有(you)(you)IDEA的(de)是人(ren)性的(de),因(yin)為它支(zhi)持排版(ban)模(mo)式的(de)定制(zhi),你可以(yi)根據不同(tong)的(de)項目要求采用(yong)不同(tong)的(de)排版(ban)方式。
xml全(quan)提示支(zhi)持:所有(you)流行框架的xml文(wen)件(jian)都(dou)支(zhi)持全(quan)提示,誰用誰知道。
任何(he)不符合java規范、自己(ji)預定(ding)義(yi)的(de)規范、累(lei)贅都將(jiang)在(zai)頁面中加亮顯示。
對代碼進行自動分析,檢(jian)測不符合規范(fan)的(de),存(cun)在風險的(de)代碼,并加(jia)亮顯示。
不需要任何(he)的插件,完(wan)全支持JSP。
代碼輸(shu)入過程中,自動補充方法或類。
不需(xu)要(yao)任何插件完全支(zhi)持EJB(6.0 支(zhi)持EJB3.0)
用過UtralEdit的(de)肯定對(dui)其的(de)列編輯模(mo)式贊(zan)賞(shang)不已,因為它減少了很(hen)多無(wu)聊的(de)重復工(gong)作(zuo),而(er)IDEA完全支持(chi)該模(mo)式,從(cong)而(er)更加提高(gao)了編碼效率。
預置(zhi)模板(ban)可以讓你(ni)(ni)把經常用(yong)(yong)到(dao)的(de)方法編輯進(jin)模板(ban),使用(yong)(yong)時(shi)你(ni)(ni)只用(yong)(yong)輸(shu)入(ru)簡(jian)單的(de)幾(ji)個字母(mu)就(jiu)可以完(wan)(wan)成(cheng)全部代碼(ma)的(de)編寫。例如使用(yong)(yong)比較高的(de)public static void main(String[] args){}你(ni)(ni)可以在模板(ban)中預設pm為(wei)該方法,輸(shu)入(ru)時(shi)你(ni)(ni)只要(yao)輸(shu)入(ru)pm再按代碼(ma)輔助(zhu)鍵,IDEA將完(wan)(wan)成(cheng)代碼(ma)的(de)自(zi)動輸(shu)入(ru)。
智能檢(jian)查類中(zhong)的方法,當發現方法名只有一個時自(zi)動完(wan)成代碼輸(shu)入,從而減少剩下(xia)代碼的編寫(xie)工作。
集成了(le)市面(mian)上常(chang)見的(de)所有版本控制(zhi)工具插件,包括git、svn、github,讓開發人員在(zai)編程(cheng)的(de)工程(cheng)中直接在(zai)intellij idea里就能完(wan)成代碼的(de)提交、檢出、解決沖(chong)突、查看版本控制(zhi)服務(wu)器內容等等。
自動(dong)檢查代(dai)碼中(zhong)不(bu)使用的代(dai)碼,并(bing)給出提示,從(cong)而(er)使代(dai)碼更高效。
自(zi)動檢(jian)查代碼(ma),發(fa)現與預置規范(fan)有(you)出入(ru)的代碼(ma)給出提(ti)示(shi),若(ruo)程(cheng)序員同意(yi)修(xiu)改(gai)(gai)自(zi)動完成(cheng)修(xiu)改(gai)(gai)。例如代碼(ma):String str = "Hello Intellij " + "IDEA";IDEA將給出優(you)化(hua)提(ti)示(shi),若(ruo)程(cheng)序員同意(yi)修(xiu)改(gai)(gai)IDEA將自(zi)動將代碼(ma)修(xiu)改(gai)(gai)為:String str=HelloIntellij IDEA";
查找(zhao)和(he)替換支(zhi)持正則表(biao)達(da)式,從而提高效率(lv)。
支持JavaDoc的預(yu)覽(lan)功能(neng),在JavaDoc代碼中Ctrl+Q顯示JavaDoc的結果,從而(er)提(ti)高(gao)doc文檔的質量。
程序員編碼(ma)(ma)時IDEA時時檢測(ce)你的(de)意圖,或提供建議,或直接幫你完成代碼(ma)(ma)。