騷操作!Intellij IDEA 居然還藏著這些實(shí)用小技巧 !

blog.csdn.net/linsongbin1/article/details/80211919
看到了一篇關(guān)于 IDEA 小技巧的文章,很實(shí)用!分享一下~
概述
Intellij IDEA真是越用越覺(jué)得它強(qiáng)大,它總是在我們寫(xiě)代碼的時(shí)候,不時(shí)給我們來(lái)個(gè)小驚喜。出于對(duì)Intellij IDEA的喜愛(ài),我決定寫(xiě)一個(gè)與其相關(guān)的專欄或者系列,把一些好用的Intellij IDEA技巧分享給大家。本文是這個(gè)系列的第一篇,主要介紹一些你可能不知道的但是又實(shí)用的小技巧。
我最愛(ài)的【演出模式】
我們可以使用【Presentation Mode】,將IDEA弄到最大,可以讓你只關(guān)注一個(gè)類里面的代碼,進(jìn)行毫無(wú)干擾的coding。
ps:這個(gè)實(shí)際上在 show 代碼的時(shí)候用的最多。(Mac)
可以使用ALT+V (Win)快捷鍵,彈出 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)槟闶强梢栽?code style="font-size: 14px;padding: 2px 4px;border-radius: 4px;margin-right: 2px;margin-left: 2px;background-color: rgba(27, 31, 35, 0.05);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;color: rgb(41, 128, 185);">Enter Presentation Mode模式下在IDEA里面做任何事情的。當(dāng)然前提是,你對(duì)IDEA足夠熟練。
神奇的 Inject language
如果你使用IDEA在編寫(xiě)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(Win)/option+enter(Mac)快捷鍵彈出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)有處理異常的代碼了。
推薦??: ?Github掘金計(jì)劃:Github上的一些優(yōu)質(zhì)項(xiàng)目搜羅
推薦??:V4.0 《JavaGuide 面試突擊版》來(lái)啦!年初搞波大的
推薦??:Github,永遠(yuǎn)滴神?
我是Guide哥,Java后端開(kāi)發(fā),擁抱開(kāi)源,喜歡烹飪,自由的少年。一個(gè)喜歡分享IDEA實(shí)用小技巧的技術(shù)人。我們下期再見(jiàn)!
