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