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