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