Intellij IDEA神器居然還有這些小技巧
概述
Intellij IDEA
真是越用越覺得它強(qiáng)大,它總是在我們寫代碼的時(shí)候,不時(shí)給我們來個(gè)小驚喜。出于對Intellij IDEA
的喜愛,我決定寫一個(gè)與其相關(guān)的專欄或者系列,把一些好用的Intellij IDEA
技巧分享給大家。本文是這個(gè)系列的第一篇,主要介紹一些你可能不知道的但是又實(shí)用的小技巧。
我最愛的【演出模式】
我們可以使用【Presentation Mode】,將IDEA
弄到最大,可以讓你只關(guān)注一個(gè)類里面的代碼,進(jìn)行毫無干擾的coding
。
可以使用Alt+V
快捷鍵,彈出View
視圖,然后選擇Enter Presentation Mode
。效果如下:
這個(gè)模式的好處就是,可以讓你更加專注,因?yàn)槟阒荒芸吹教囟硞€(gè)類的代碼??赡茏x者會問,進(jìn)入這個(gè)模式后,我想看其他類的代碼怎么辦?這個(gè)時(shí)候,就要考驗(yàn)?zāi)憧旖萱I的熟練程度了。你可以使用CTRL+E
彈出最近使用的文件。又或者使用CTRL+N
和CTRL+SHIFT+N
定位文件。
如何退出這個(gè)模式呢?很簡單,使用ALT+V
彈出view視圖,然后選擇Exit Presentation Mode
即可。但是我強(qiáng)烈建議你不要這么做,因?yàn)槟闶强梢栽?code>Enter Presentation Mode模式下在IDEA
里面做任何事情的。當(dāng)然前提是,你對IDEA
足夠熟練。
神奇的Inject language
如果你使用IDEA
在編寫JSON
字符串的時(shí)候,然后要一個(gè)一個(gè)\
去轉(zhuǎn)義雙引號的話,就實(shí)在太不應(yīng)該了,又煩又容易出錯(cuò)。在IDEA
可以使用Inject language
幫我們自動(dòng)轉(zhuǎn)義雙引號。
先將焦點(diǎn)定位到雙引號里面,使用alt+enter
快捷鍵彈出inject language
視圖,并選中
Inject language or reference
。
選擇后,切記,要直接按下enter
回車鍵,才能彈出inject language
列表。在列表中選擇 json
組件。
選擇完后。鼠標(biāo)焦點(diǎn)自動(dòng)會定位在雙引號里面,這個(gè)時(shí)候你再次使用alt+enter
就可以看到
選中Edit JSON Fragment
并回車,就可以看到編輯JSON
文件的視圖了。
可以看到IDEA
確實(shí)幫我們自動(dòng)轉(zhuǎn)義雙引號了。如果要退出編輯JSON
信息的視圖,只需要使用ctrl+F4
快捷鍵即可。
Inject language
可以支持的語言和操作多到你難以想象,讀者可以自行研究。
使用快捷鍵移動(dòng)分割線
假設(shè)有下面的場景,某個(gè)類的名字在project
視圖里被擋住了某一部分。
你想完整的看到類的名字,該怎么做。一般都是使用鼠標(biāo)來移動(dòng)分割線,但是這樣子效率太低了??梢允褂?code>alt+1把鼠標(biāo)焦點(diǎn)定位到project
視圖里,然后直接使用ctrl+shift+左右箭頭
來移動(dòng)分割線。
ctrl+shift+enter不只是用來行尾加分號的
ctrl+shift+enter
其實(shí)是表示為您收尾
的意思,不只是用來給代碼加分號的。比如說:
這段代碼,我們還需要為if語句加上大括號才能編譯通過,這個(gè)時(shí)候你直接輸入ctrl+shift+enter
,IDEA
會自動(dòng)幫你收尾,加上大括號的。
不要?jiǎng)硬粍?dòng)就使用IDEA的重構(gòu)功能
IDEA
的重構(gòu)功能非常強(qiáng)大,但是也有時(shí)候,在單個(gè)類里面,如果只是想批量修改某個(gè)文本,大可不必使用到重構(gòu)的功能。比如說:
上面的代碼中,有5個(gè)地方用到了rabbitTemplate文本,如何批量修改呢?
首先是使用ctrl+w
選中rabbitTemplate
這個(gè)文本,然后依次使用5次alt+j
快捷鍵,逐個(gè)選中,這樣五個(gè)文本就都被選中并且高亮起來了,這個(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)航欄顯示出來。
如果想讓這個(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
里面找出來,可以怎么做呢?
直接使用ctrl+shift+alt+n
,使用symbol
來查找即可。
比如說:
你想找到checkUser方法。直接輸入user
即可。
如果你記得某個(gè)業(yè)務(wù)類里面有某個(gè)方法,那也可以使用首字母找到類,然后加個(gè).
,再輸入方法名字也是可以的。
如何找目錄
使用ctrl+shift+n
后,使用/
,然后輸入目錄名字即可.
自動(dòng)生成not null判斷語句
自動(dòng)生成not null這種if判斷,在IDEA
里有很多種辦法,其中一種辦法你可能沒想到。
當(dāng)我們使用rabbitTemplate. 后,直接輸入notnull
并回車,IDEA
就好自動(dòng)生成if判斷了。
按照模板找內(nèi)容
這個(gè)也是我非常喜歡的一個(gè)功能,可以根據(jù)模板來找到與模板匹配的代碼塊。比如說:
想在整個(gè)工程里面找到所有的try catch語句,但是catch語句里面沒有做異常處理的。
catch語句里沒有處理異常,是極其危險(xiǎn)的。我們可以IDEA
里面方便找到所有這樣的代碼。
首先使用ctrl+shift+A
快捷鍵彈出action框,然后輸入Search Struct
選擇Search Structurally
后,回車,跳轉(zhuǎn)到模板視圖。
點(diǎn)擊Existing Templates
按鈕,選擇try
模板。為了能找出catch里面沒有處理異常的代碼塊,我們需要配置一下CatchStatement
的Maximum count
的值,將其設(shè)置為1。
點(diǎn)擊Edit Variables
按鈕,在界面修改Maximum count
的值。
最后點(diǎn)擊find
按鈕,就可以找出catch里面沒有處理異常的代碼了。
如果文章還行,請幫忙點(diǎn)一下贊哈。如下圖:
到此這篇關(guān)于Intellij IDEA神器居然還有這些小技巧的文章就介紹到這了,更多相關(guān)IDEA小技巧內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
idea啟動(dòng)項(xiàng)目報(bào)端口號沖突或被占用的解決方法
這篇文章主要介紹了idea啟動(dòng)項(xiàng)目報(bào)端口號沖突或被占用的解決方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-10-10Reactor3 Map與FlatMap的區(qū)別示例詳解
這篇文章主要為大家介紹了Reactor3 Map與FlatMap的區(qū)別示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08MyBatis?如何使項(xiàng)目兼容多種數(shù)據(jù)庫的解決方案
要想做兼容多種數(shù)據(jù)庫,那毫無疑問,我們首先得明確我們要兼容哪些數(shù)據(jù)庫,他們的數(shù)據(jù)庫產(chǎn)品名稱是什么,本次我們講解了一套使項(xiàng)目兼容多種數(shù)據(jù)庫的方案,對MyBatis項(xiàng)目兼容多種數(shù)據(jù)庫操作方法感興趣的朋友一起看看吧2024-05-05springboot集成flyway自動(dòng)創(chuàng)表的詳細(xì)配置
Flayway是一款數(shù)據(jù)庫版本控制管理工具,支持?jǐn)?shù)據(jù)庫版本自動(dòng)升級,Migrations可以寫成sql腳本,也可以寫在java代碼里;本文通過實(shí)例代碼給大家介紹springboot集成flyway自動(dòng)創(chuàng)表的詳細(xì)過程,感興趣的朋友一起看看吧2021-06-06SWT(JFace)體驗(yàn)之Slider,Scale
SWT(JFace)體驗(yàn)之Slider,Scale實(shí)現(xiàn)代碼。2009-06-06@MapperScan和@ComponentScan一塊使用導(dǎo)致沖突的解決
這篇文章主要介紹了@MapperScan和@ComponentScan一塊使用導(dǎo)致沖突的解決,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11