Intellij IDEA神器居然還有這些小技巧

概述

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)有處理異常的代碼了环疼。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末习霹,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子炫隶,更是在濱河造成了極大的恐慌淋叶,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件伪阶,死亡現(xiàn)場(chǎng)離奇詭異煞檩,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)栅贴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門斟湃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人檐薯,你說(shuō)我怎么就攤上這事凝赛。” “怎么了坛缕?”我有些...
    開(kāi)封第一講書人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵墓猎,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我祷膳,道長(zhǎng)陶衅,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任直晨,我火速辦了婚禮搀军,結(jié)果婚禮上膨俐,老公的妹妹穿的比我還像新娘。我一直安慰自己罩句,他們只是感情好焚刺,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著门烂,像睡著了一般乳愉。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上屯远,一...
    開(kāi)封第一講書人閱讀 51,462評(píng)論 1 302
  • 那天蔓姚,我揣著相機(jī)與錄音,去河邊找鬼慨丐。 笑死坡脐,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的房揭。 我是一名探鬼主播备闲,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼捅暴!你這毒婦竟也來(lái)了恬砂?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤蓬痒,失蹤者是張志新(化名)和其女友劉穎泻骤,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體乳幸,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡瞪讼,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了粹断。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡嫡霞,死狀恐怖瓶埋,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情诊沪,我是刑警寧澤养筒,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站端姚,受9級(jí)特大地震影響晕粪,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜渐裸,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一巫湘、第九天 我趴在偏房一處隱蔽的房頂上張望装悲。 院中可真熱鬧,春花似錦尚氛、人聲如沸诀诊。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)属瓣。三九已至,卻和暖如春讯柔,著一層夾襖步出監(jiān)牢的瞬間抡蛙,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工魂迄, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留溜畅,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓极祸,卻偏偏與公主長(zhǎng)得像慈格,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子遥金,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容