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