Intellij IDEA神器居然還有這些小技巧
概述
Intellij IDEA真是越用越覺得它強大,它總是在我們寫程式碼的時候,不時給我們來個小驚喜。出於對Intellij IDEA的喜愛,我決定寫一個與其相關的專欄或者系列,把一些好用的Intellij IDEA技巧分享給大家。本文是這個系列的第一篇,主要介紹一些你可能不知道的但是又實用的小技巧。
我最愛的【演出模式】
我們可以使用【Presentation Mode】,將IDEA弄到最大,可以讓你只關注一個類裡面的程式碼,進行毫無干擾的coding。
可以使用Alt+V快捷鍵,彈出View檢視,然後選擇Enter Presentation Mode。效果如下:

這個模式的好處就是,可以讓你更加專注,因為你只能看到特定某個類的程式碼。可能讀者會問,進入這個模式後,我想看其他類的程式碼怎麼辦?這個時候,就要考驗你快捷鍵的熟練程度了。你可以使用CTRL+E彈出最近使用的檔案。又或者使用CTRL+N和CTRL+SHIFT+N定位檔案。
如何退出這個模式呢?很簡單,使用ALT+V彈出view檢視,然後選擇Exit Presentation Mode即可。但是我強烈建議你不要這麼做,因為你是可以在Enter Presentation Mode模式下在IDEA裡面做任何事情的。當然前提是,你對IDEA足夠熟練。
神奇的Inject language
如果你使用IDEA在編寫JSON字串的時候,然後要一個一個\去轉義雙引號的話,就實在太不應該了,又煩又容易出錯。在IDEA可以使用Inject language幫我們自動轉義雙引號。

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

選擇後,切記,要直接按下enterEnter鍵,才能彈出inject language列表。在列表中選擇json元件。

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

選中Edit JSON Fragment並回車,就可以看到編輯JSON檔案的檢視了。

可以看到IDEA確實幫我們自動轉義雙引號了。如果要退出編輯JSON資訊的檢視,只需要使用ctrl+F4快捷鍵即可。
Inject language可以支援的語言和操作多到你難以想象,讀者可以自行研究。
使用快捷鍵移動分割線
假設有下面的場景,某個類的名字在project檢視裡被擋住了某一部分。

你想完整的看到類的名字,該怎麼做。一般都是使用滑鼠來移動分割線,但是這樣子效率太低了。可以使用alt+1把滑鼠焦點定位到project檢視裡,然後直接使用ctrl+shift+左右箭頭來移動分割線。
ctrl+shift+enter不只是用來行尾加分號的
ctrl+shift+enter其實是表示為您收尾的意思,不只是用來給程式碼加分號的。比如說:

這段程式碼,我們還需要為if語句加上大括號才能編譯通過,這個時候你直接輸入ctrl+shift+enter,IDEA會自動幫你收尾,加上大括號的。
不要動不動就使用IDEA的重構功能
IDEA的重構功能非常強大,但是也有時候,在單個類裡面,如果只是想批量修改某個文字,大可不必使用到重構的功能。比如說:

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

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

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

如果想讓這個臨時的導航欄消失的話,直接使用esc快捷鍵即可。
把滑鼠定位到project檢視裡
當工程裡的包和類非常多的時候,有時候我們想知道當前類在project檢視裡是處在哪個位置。

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

那如何從project跳回程式碼裡呢?可以直接使用esc退出project檢視,或者直接使用F4,跳到程式碼裡。
強大的symbol
如果你依稀記得某個方法名字幾個字母,想在IDEA裡面找出來,可以怎麼做呢? 直接使用ctrl+shift+alt+n,使用symbol來查詢即可。 比如說:

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

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

如何找目錄
使用ctrl+shift+n後,使用/,然後輸入目錄名字即可.

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

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

按照模板找內容
這個也是我非常喜歡的一個功能,可以根據模板來找到與模板匹配的程式碼塊。比如說:
想在整個工程裡面找到所有的try catch語句,但是catch語句裡面沒有做異常處理的。
catch語句裡沒有處理異常,是極其危險的。我們可以IDEA裡面方便找到所有這樣的程式碼。

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

選擇Search Structurally後,回車,跳轉到模板檢視。

點選Existing Templates按鈕,選擇try模板。為了能找出catch裡面沒有處理異常的程式碼塊,我們需要配置一下CatchStatement的Maximum count的值,將其設定為1。
點選Edit Variables按鈕,在介面修改Maximum count的值。

最後點選find按鈕,就可以找出catch裡面沒有處理異常的程式碼了。

相關文章
- IntelliJ IDEA神器使用技巧筆記IntelliJIdea筆記
- 原來word中還有這些小技巧!
- IntelliJ IDEA 中的技巧IntelliJIdea
- Intellij IDEA 整合 JProfiler 效能分析神器IntelliJIdea
- IntelliJ IDEA 超實用使用技巧分享IntelliJIdea
- Android Studio|IntelliJ IDEA Git使用小技巧AndroidIntelliJIdeaGit
- 你居然不知道postman還有這些用法?Postman
- IntelliJ IDEA 啟用教程,最新啟用碼 IDEA使用技巧IntelliJIdea
- 居然還有這樣的榜單! 吃貨慎入!
- iOS這些小技巧你都知道嗎iOS
- 【IntelliJ IDEA】IntelliJIdea
- 【vuejs】有關vue的一些小技巧VueJS
- IntelliJ IDEA 2022.1.4IntelliJIdea
- IntelliJ IDEA 老司機,還沒用過 Stream Trace 功能?IntelliJIdea
- 是時候扔掉 Postman 了,試試 IntelliJ IDEA 自帶的高能神器!PostmanIntelliJIdea
- 你或許不知道Vue的這些小技巧Vue
- IntelliJ IDEA快捷鍵IntelliJIdea
- IntelliJ IDEA 配置代理IntelliJIdea
- IntelliJ IDEA 破解教程IntelliJIdea
- IntelliJ IDEA配置JDKIntelliJIdeaJDK
- IntelliJ IDEA 2020.1官方IntelliJIdea
- 用Golang做一個永久阻塞,有哪些小技巧 ?Golang
- Java開發工具IntelliJ IDEA 2022(idea)JavaIntelliJIdea
- 每日一些小技巧
- IntelliJ IDEA 啟用(最新)IntelliJIdea
- IntelliJ IDEA 2019.1 新特性IntelliJIdea
- IntelliJ IDEA常用快捷鍵IntelliJIdea
- Intellij IDEA 中 使用 GitIntelliJIdeaGit
- IntelliJ IDEA下.gitignore配置IntelliJIdeaGit
- 【IntelliJ IDEA】2024最新使用IntelliJIdea
- 你居然以為有“MOBA玩家”這回事?
- 用Golang做一個永久阻塞,你有哪些小技巧Golang
- IntelliJ IDEA 2023 for Mac破解版 IntelliJ IDEA 2023完整破解安裝教程IntelliJIdeaMac
- IntelliJ IDEA使用更順手,這些必要設定安排上~IntelliJIdea
- IntelliJ IDEA 2023 for Mac完美啟用版 IntelliJ IDEA 2023最新註冊碼分享IntelliJIdeaMac
- IntelliJ IDEA 2023 mac主要更新了什麼?IntelliJ IDEA 新版 UI 更新盤點IntelliJIdeaMacUI
- PowerDesigner一些小技巧(轉)
- jquery的一些小技巧jQuery