概述
Intellij IDEA真是越用越覺(jué)得它強(qiáng)大地粪,它總是在我們寫代碼的時(shí)候首量,不時(shí)給我們來(lái)個(gè)小驚喜荞驴。出于對(duì)Intellij IDEA的喜愛(ài)不皆,我決定寫一個(gè)與其相關(guān)的專欄或者系列,把一些好用的Intellij IDEA技巧分享給大家熊楼。本文是這個(gè)系列的第一篇霹娄,主要介紹一些你可能不知道的但是又實(shí)用的小技巧。
我最愛(ài)的【演出模式】
我們可以使用【Presentation Mode】,將IDEA弄到最大犬耻,可以讓你只關(guān)注一個(gè)類里面的代碼踩晶,進(jìn)行毫無(wú)干擾的coding。
可以使用Alt+V快捷鍵枕磁,彈出View視圖渡蜻,然后選擇Enter Presentation Mode。效果如下:
這個(gè)模式的好處就是计济,可以讓你更加專注茸苇,因?yàn)槟阒荒芸吹教囟硞€(gè)類的代碼∏椭洌可能讀者會(huì)問(wèn)税弃,進(jìn)入這個(gè)模式后纪岁,我想看其他類的代碼怎么辦凑队?這個(gè)時(shí)候,就要考驗(yàn)?zāi)憧旖萱I的熟練程度了幔翰。你可以使用CTRL+E彈出最近使用的文件漩氨。又或者使用CTRL+N和CTRL+SHIFT+N定位文件。
如何退出這個(gè)模式呢遗增?很簡(jiǎn)單叫惊,使用ALT+V彈出view視圖,然后選擇Exit Presentation Mode即可做修。但是我強(qiáng)烈建議你不要這么做霍狰,因?yàn)槟闶强梢栽贓nter Presentation Mode模式下在IDEA里面做任何事情的。當(dāng)然前提是饰及,你對(duì)IDEA足夠熟練蔗坯。
神奇的Inject language
如果你使用IDEA在編寫JSON字符串的時(shí)候,然后要一個(gè)一個(gè)\去轉(zhuǎn)義雙引號(hào)的話燎含,就實(shí)在太不應(yīng)該了宾濒,又煩又容易出錯(cuò)。在IDEA可以使用Inject language幫我們自動(dòng)轉(zhuǎn)義雙引號(hào)屏箍。
先將焦點(diǎn)定位到雙引號(hào)里面绘梦,使用alt+enter快捷鍵彈出inject language視圖,并選中Inject language or reference赴魁。
選擇后,切記卸奉,要直接按下enter回車鍵,才能彈出inject language列表颖御。在列表中選擇json組件榄棵。
選擇完后。鼠標(biāo)焦點(diǎn)自動(dòng)會(huì)定位在雙引號(hào)里面,這個(gè)時(shí)候你再次使用alt+enter就可以看到
選中Edit JSON Fragment并回車秉继,就可以看到編輯JSON文件的視圖了壳繁。
可以看到IDEA確實(shí)幫我們自動(dòng)轉(zhuǎn)義雙引號(hào)了。如果要退出編輯JSON信息的視圖裕膀,只需要使用ctrl+F4快捷鍵即可纹因。
Inject language可以支持的語(yǔ)言和操作多到你難以想象,讀者可以自行研究杠茬。
使用快捷鍵移動(dòng)分割線
假設(shè)有下面的場(chǎng)景月褥,某個(gè)類的名字在project視圖里被擋住了某一部分。
你想完整的看到類的名字瓢喉,該怎么做宁赤。一般都是使用鼠標(biāo)來(lái)移動(dòng)分割線,但是這樣子效率太低了栓票【鲎螅可以使用alt+1把鼠標(biāo)焦點(diǎn)定位到project視圖里,然后直接使用ctrl+shift+左右箭頭來(lái)移動(dòng)分割線走贪。
ctrl+shift+enter不只是用來(lái)行尾加分號(hào)的
ctrl+shift+enter其實(shí)是表示為您收尾的意思佛猛,不只是用來(lái)給代碼加分號(hào)的。比如說(shuō):
這段代碼坠狡,我們還需要為if語(yǔ)句加上大括號(hào)才能編譯通過(guò)继找,這個(gè)時(shí)候你直接輸入ctrl+shift+enter,IDEA會(huì)自動(dòng)幫你收尾逃沿,加上大括號(hào)的婴渡。
不要?jiǎng)硬粍?dòng)就使用IDEA的重構(gòu)功能
IDEA的重構(gòu)功能非常強(qiáng)大,但是也有時(shí)候凯亮,在單個(gè)類里面边臼,如果只是想批量修改某個(gè)文本,大可不必使用到重構(gòu)的功能触幼。比如說(shuō):
上面的代碼中硼瓣,有5個(gè)地方用到了rabbitTemplate文本,如何批量修改呢置谦? 首先是使用ctrl+w選中rabbitTemplate這個(gè)文本,然后依次使用5次alt+j快捷鍵堂鲤,逐個(gè)選中,這樣五個(gè)文本就都被選中并且高亮起來(lái)了媒峡,這個(gè)時(shí)候就可以直接批量修改了瘟栖。
去掉導(dǎo)航欄
去掉導(dǎo)航欄,因?yàn)槠綍r(shí)用的不多谅阿。
可以把紅色的導(dǎo)航欄去掉半哟,讓IDEA顯得更加干凈整潔一些酬滤。使用alt+v,然后去掉Navigation bar即可寓涨。去掉這個(gè)導(dǎo)航欄后盯串,如果你偶爾還是要用的,直接用alt+home就可以臨時(shí)把導(dǎo)航欄顯示出來(lái)戒良。
如果想讓這個(gè)臨時(shí)的導(dǎo)航欄消失的話体捏,直接使用esc快捷鍵即可。
把鼠標(biāo)定位到project視圖里
當(dāng)工程里的包和類非常多的時(shí)候糯崎,有時(shí)候我們想知道當(dāng)前類在project視圖里是處在哪個(gè)位置几缭。
上面圖中的DemoIDEA里,你如何知道它是在spring-cloud-config工程里的哪個(gè)位置呢沃呢? 可以先使用alt+F1年栓,彈出Select in視圖,然后選擇Project View中的Project薄霜,回車某抓,就可以立刻定位到類的位置了。
那如何從project跳回代碼里呢黄锤?可以直接使用esc退出project視圖搪缨,或者直接使用F4,跳到代碼里食拜。
強(qiáng)大的symbol
如果你依稀記得某個(gè)方法名字幾個(gè)字母鸵熟,想在IDEA里面找出來(lái),可以怎么做呢负甸? 直接使用ctrl+shift+alt+n流强,使用symbol來(lái)查找即可。 比如說(shuō):
你想找到checkUser方法呻待。直接輸入user即可打月。
如果你記得某個(gè)業(yè)務(wù)類里面有某個(gè)方法,那也可以使用首字母找到類,然后加個(gè).蚕捉,再輸入方法名字也是可以的奏篙。
如何找目錄
使用ctrl+shift+n后,使用/迫淹,然后輸入目錄名字即可.
自動(dòng)生成not null判斷語(yǔ)句
自動(dòng)生成not null這種if判斷秘通,在IDEA里有很多種辦法,其中一種辦法你可能沒(méi)想到敛熬。
當(dāng)我們使用rabbitTemplate. 后肺稀,直接輸入notnull并回車,IDEA就好自動(dòng)生成if判斷了应民。
按照模板找內(nèi)容
這個(gè)也是我非常喜歡的一個(gè)功能话原,可以根據(jù)模板來(lái)找到與模板匹配的代碼塊夕吻。比如說(shuō):
想在整個(gè)工程里面找到所有的try catch語(yǔ)句,但是catch語(yǔ)句里面沒(méi)有做異常處理的。
catch語(yǔ)句里沒(méi)有處理異常繁仁,是極其危險(xiǎn)的涉馅。我們可以IDEA里面方便找到所有這樣的代碼。
首先使用ctrl+shift+A快捷鍵彈出action框黄虱,然后輸入Search Struct
選擇Search Structurally后控漠,回車,跳轉(zhuǎn)到模板視圖悬钳。
點(diǎn)擊Existing Templates按鈕盐捷,選擇try模板。為了能找出catch里面沒(méi)有處理異常的代碼塊默勾,我們需要配置一下CatchStatement的Maximum count的值碉渡,將其設(shè)置為1。
點(diǎn)擊Edit Variables按鈕母剥,在界面修改Maximum count的值滞诺。
最后點(diǎn)擊find按鈕,就可以找出catch里面沒(méi)有處理異常的代碼了环疼。