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