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


概述


Intellij IDEA真是越用越覺得它強大,它總是在我們寫代碼的時候,不時給我們來個小驚喜。出於對Intellij IDEA的喜愛,我決定寫一個與其相關的專欄或者系列,把一些好用的Intellij IDEA技巧分享給大家。本文是這個系列的第一篇,主要介紹一些你可能不知道的但是又實用的小技巧。


我最愛的【演出模式】


我們可以使用【Presentation Mode】,將IDEA弄到最大,可以讓你只關注一個類里面的代碼,進行毫無干擾的coding

可以使用Alt+V快捷鍵,彈出View視圖,然后選擇Enter Presentation Mode。效果如下:
image

這個模式的好處就是,可以讓你更加專注,因為你只能看到特定某個類的代碼。可能讀者會問,進入這個模式后,我想看其他類的代碼怎么辦?這個時候,就要考驗你快捷鍵的熟練程度了。你可以使用CTRL+E彈出最近使用的文件。又或者使用CTRL+NCTRL+SHIFT+N定位文件。

如何退出這個模式呢?很簡單,使用ALT+V彈出 view 視圖,然后選擇Exit Presentation Mode 即可。但是我強烈建議你不要這么做,因為你是可以在Enter Presentation Mode模式下在IDEA里面做任何事情的。當然前提是,你對IDEA足夠熟練。


神奇的 Inject language


如果你使用IDEA在編寫JSON字符串的時候,然后要一個一個\去轉義雙引號的話,就實在太不應該了,又煩又容易出錯。在IDEA可以使用Inject language幫我們自動轉義雙引號。
image

先將焦點定位到雙引號里面,使用alt+enter快捷鍵彈出inject language視圖,並選中
Inject language or reference
image

選擇后, 切記,要直接按下enter回車鍵,才能彈出inject language列表。在列表中選擇 json組件。
image

選擇完后。鼠標焦點自動會定位在雙引號里面,這個時候你再次使用alt+enter就可以看到
image

選中Edit JSON Fragment並回車,就可以看到編輯JSON文件的視圖了。
image

可以看到IDEA確實幫我們自動轉義雙引號了。如果要退出編輯JSON信息的視圖,只需要使用ctrl+F4快捷鍵即可。

Inject language可以支持的語言和操作多到你難以想象,讀者可以自行研究。


使用快捷鍵移動分割線


假設有下面的場景,某個類的名字在project視圖里被擋住了某一部分。
image

你想完整的看到類的名字,該怎么做。一般都是使用鼠標來移動分割線,但是這樣子效率太低了。可以使用alt+1把鼠標焦點定位到project視圖里,然后直接使用ctrl+shift+左右箭頭來移動分割線。


ctrl+shift+enter 不只是用來行尾加分號的


ctrl+shift+enter其實是表示為您收尾的意思,不只是用來給代碼加分號的。比如說:
image

這段代碼,我們還需要為 if 語句加上大括號才能編譯通過,這個時候你直接輸入ctrl+shift+enterIDEA會自動幫你收尾,加上大括號的。


不要動不動就使用 IDEA 的重構功能


IDEA的重構功能非常強大,但是也有時候,在單個類里面,如果只是想批量修改某個文本,大可不必使用到重構的功能。比如說:
image

上面的代碼中,有 5 個地方用到了 rabbitTemplate 文本,如何批量修改呢?
首先是使用ctrl+w選中rabbitTemplate這個文本, 然后依次使用 5 次alt+j快捷鍵,逐個選中,這樣五個文本就都被選中並且高亮起來了,這個時候就可以直接批量修改了。
image


去掉導航欄


去掉導航欄,因為平時用的不多。
image

可以把紅色的導航欄去掉,讓IDEA顯得更加干凈整潔一些。使用alt+v,然后去掉Navigation bar即可。去掉這個導航欄后,如果你偶爾還是要用的,直接用alt+home就可以臨時把導航欄顯示出來。
image

如果想讓這個臨時的導航欄消失的話,直接使用esc快捷鍵即可。


把鼠標定位到 project 視圖里


當工程里的包和類非常多的時候,有時候我們想知道當前類在 project 視圖里是處在哪個位置。
image

上面圖中的DemoIDEA里,你如何知道它是在spring-cloud-config工程里的哪個位置呢?
可以先使用alt+F1,彈出Select in視圖,然后選擇Project View中的Project,回車,就可以立刻定位到類的位置了。

image

那如何從project跳回代碼里呢?可以直接使用esc退出project視圖,或者直接使用F4, 跳到代碼里。


強大的 symbol


如果你依稀記得某個方法名字幾個字母,想在IDEA里面找出來,可以怎么做呢?
直接使用ctrl+shift+alt+n,使用symbol來查找即可。
比如說:
image

你想找到 checkUser 方法。直接輸入user即可。
image

如果你記得某個業務類里面有某個方法,那也可以使用首字母找到類, 然后加個.,再輸入方法名字也是可以的。
image


如何找目錄


使用ctrl+shift+n后,使用/,然后輸入目錄名字即可.
image


自動生成 not null 判斷語句


自動生成 not null 這種 if 判斷,在IDEA里有很多種辦法,其中一種辦法你可能沒想到。
image

當我們使用 rabbitTemplate. 后,直接輸入notnull並回車,IDEA就好自動生成 if 判斷了。
image


按照模板找內容


想在整個工程里面找到所有的 try catch 語句, 但是 catch 語句里面沒有做異常處理的。

catch 語句里沒有處理異常,是極其危險的。我們可以IDEA里面方便找到所有這樣的代碼。
image

首先使用ctrl+shift+A快捷鍵彈出 action 框,然后輸入Search Struct
image

選擇Search Structurally后,回車,跳轉到模板視圖。
image

點擊Existing Templates按鈕,選擇try模板。為了能找出 catch 里面沒有處理異常的代碼塊,我們需要配置一下CatchStatementMaximum count的值,將其設置為 1。

點擊Edit Variables按鈕,在界面修改Maximum count的值。
image

最后點擊find按鈕,就可以找出 catch 里面沒有處理異常的代碼了。
image


“不積跬步,無以至千里”,希望未來的你能:有夢為馬 隨處可棲!加油,少年!

關注公眾號:「Java 知己」,每天更新Java知識哦,期待你的到來!

  • 發送「Group」,加入無廣告微信群,與 10 萬程序員一起進步。
  • 發送「面試」,領取BATJ面試資料、面試視頻攻略。
  • 發送「玩轉算法」,領取《玩轉算法》系列視頻教程。
  • 千萬不要發送「1024」...

每日福利


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM