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