IntelliJ中高效重構(gòu)的10個快捷方式詳解
前言
在日常的開發(fā)工作中,我們經(jīng)常需要重構(gòu),重構(gòu)可以讓我們寫出的代碼更上一層樓。所以,我會借助IntelliJ提供的一些功能,幫助我高效進(jìn)行重構(gòu)。這里是我推薦10個快捷方式,也是我每天都在使用的,非常有用。
1.將選擇提取到局部變量
(Ctrl + Alt + V / Cmd + Opt + V)
IntelliJ 會建議一個名稱,該名稱有時非常切題,有時則不那么切題,但它處于編輯模式。如果您愿意,您還可以選擇提取多次出現(xiàn)的選擇或僅提取當(dāng)前選擇。
您可以選擇的另一件事作為聲明頂部的氣泡彈出 — 是否使變量不可變(在本例中為 Kotlin var 或 val)以及可能的其他特定于語言的選項(xiàng),如下面的 Kotlin 屏幕截圖所示 — 是否指定類型。

2.將選擇提取到字段/屬性
(Ctrl + Alt + F / Cmd + Opt + F)
IntelliJ 提供的選項(xiàng)取決于語言,在下面的屏幕截圖中 — 是為類定義還是為文件定義。選擇后,您仍然可以使用與提取局部變量相同的選項(xiàng)。

3.提取選擇到一個方法
(Ctrl + Alt + M / Cmd + Opt + M)
在窗口中,您將看到一旦您點(diǎn)擊快捷組合,您就可以控制參數(shù)的可見性、順序和名稱,當(dāng)然還有新方法的名稱。

4.內(nèi)聯(lián)函數(shù)
(Ctrl + Alt + N / Cmd + Opt + N)
這與上面所有 3 個相反——將變量、字段或方法放回它們被使用的地方。同樣,您有一些選項(xiàng),例如內(nèi)聯(lián)單次或多次出現(xiàn)。

5.移動到下一個或上一個光標(biāo)位置
(Ctl + Alt + ← 或 → / Cmd + Opt + ← 或 →)
這是快速瀏覽您編輯的最后幾個位置的好方法。
6.代碼生成
(Alt + Insert / Cmd + N)
同樣,鑒于結(jié)果是 *上下文 *菜單,它取決于上下文,但通常你會用它來生成無聊的位,如equals(), hashCode(), getters 和 setters 或構(gòu)造函數(shù),實(shí)現(xiàn)接口方法等。

7.重命名變量、方法、類等
(Ctrl + Alt + R / Shift + F6)
這可能是所有人都非常熟悉的選項(xiàng),它絕對是救星。如果您僅依靠復(fù)制粘貼來重命名可能已隱藏在代碼中某處的變量,您可能最終會遇到錯誤。
有趣的是,您還可以僅重命名特定的事件或查找所有用法。重命名包時,您可以只重命名目錄,也可以重命名包,因此請謹(jǐn)慎選擇。

8.重構(gòu)This
(Ctrl+Alt+Shift+T / Ctrl + T)
這是一個包羅萬象的捷徑。如果你不想一下子記住所有的東西,只要先記住這個,其余的就會及時出現(xiàn)。此組合向您顯示所有可用的重構(gòu)選擇。所有以前的快捷方式都在這里,因此您可以將其用作起點(diǎn)。

此外,讓我提請您注意一些不那么常用的重構(gòu):
Pull Members Up——將選定的成員(字段或方法)移動到父類Push Members Down— 將選定的成員(字段或方法)移動到子類
在處理更復(fù)雜的層次結(jié)構(gòu)時,這些非常棒,例如,如果您正在開發(fā) API。
- 提取超類
- 提取接口
啟動該過程后,您可以在彈出窗口中設(shè)置所有其他詳細(xì)信息。

9. 檢查代碼
這不完全是一個捷徑,但它是保持代碼整潔的好方法。它位于 Code Menu -> Inspect Code… 下,您可以通過將分析范圍限制為文件、模塊、包或整個項(xiàng)目來選擇分析范圍。
然后它將為您提供按語言/框架和類型分組的問題和潛在問題列表。

對于一些更簡單的警告,您可以通過右鍵單擊并選擇建議的解決方案來解決,對于其他警告,您將不得不這樣做。
10. 轉(zhuǎn)到聲明或用法
- 去聲明一個成員
(Ctrl + Alt + B / Cmd + Opt + B) - 轉(zhuǎn)到某個成員的用法
(Ctrl + Alt + B / Cmd + Opt + B)— 如果您多次使用該成員,您將看到上下文菜單彈出窗口,允許您選擇確切的位置

以上就是IntelliJ中高效重構(gòu)的10個快捷方式詳解的詳細(xì)內(nèi)容,更多關(guān)于IntelliJ高效重構(gòu)快捷方式的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Mybatis使用JSONObject接收數(shù)據(jù)庫查詢的方法
這篇文章主要介紹了Mybatis使用JSONObject接收數(shù)據(jù)庫查詢,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12
Java實(shí)現(xiàn)AES加密和解密方式完整示例
這篇文章主要給大家介紹了關(guān)于Java實(shí)現(xiàn)AES加密和解密方式的相關(guān)資料,AES加密為最常見的對稱加密算法,是一種區(qū)塊加密標(biāo)準(zhǔn),這個標(biāo)準(zhǔn)用來替代原先的DES,已經(jīng)被多方分析且廣為全世界所使用,需要的朋友可以參考下2023-10-10
MyBatis-Plus通過version機(jī)制實(shí)現(xiàn)樂觀鎖的思路
version機(jī)制的核心思想就是,假設(shè)發(fā)生并發(fā)沖突的幾率很低,只有當(dāng)更新數(shù)據(jù)的時候采取檢查是否有沖突,而判斷是否有沖突的依據(jù)就是version的值是否被改變了,這篇文章主要介紹了MyBatis-Plus通過version機(jī)制實(shí)現(xiàn)樂觀鎖的思路,需要的朋友可以參考下2021-09-09
解決swaggerUI頁面沒有顯示Controller方法的坑
這篇文章主要介紹了解決swaggerUI頁面沒有顯示Controller方法的坑,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06
SpringBoot+vue+Axios實(shí)現(xiàn)Token令牌的詳細(xì)過程
Token是在服務(wù)端產(chǎn)生的,前端可以使用用戶名/密碼向服務(wù)端請求認(rèn)證(登錄),服務(wù)端認(rèn)證成功,服務(wù)端會返回?Token?給前端,Token可以使用自己的算法自定義,本文給大家介紹SpringBoot+vue+Axios實(shí)現(xiàn)Token令牌,感興趣的朋友一起看看吧2023-10-10
idea項(xiàng)目的左側(cè)目錄沒了如何設(shè)置
這篇文章主要介紹了idea項(xiàng)目的左側(cè)目錄沒了如何設(shè)置的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02
Quarkus改造Pmml模型項(xiàng)目異常記錄及解決處理
這篇文章主要為大家介紹了Quarkus改造Pmml模型項(xiàng)目是遇到的異常記錄以及解決方法,有需要的同學(xué)可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-02-02

