IntelliJ中高效重構(gòu)的10個(gè)快捷方式詳解
前言
在日常的開發(fā)工作中,我們經(jīng)常需要重構(gòu),重構(gòu)可以讓我們寫出的代碼更上一層樓。所以,我會(huì)借助IntelliJ提供的一些功能,幫助我高效進(jìn)行重構(gòu)。這里是我推薦10個(gè)快捷方式,也是我每天都在使用的,非常有用。
1.將選擇提取到局部變量
(Ctrl + Alt + V / Cmd + Opt + V)
IntelliJ 會(huì)建議一個(gè)名稱,該名稱有時(shí)非常切題,有時(shí)則不那么切題,但它處于編輯模式。如果您愿意,您還可以選擇提取多次出現(xiàn)的選擇或僅提取當(dāng)前選擇。
您可以選擇的另一件事作為聲明頂部的氣泡彈出 — 是否使變量不可變(在本例中為 Kotlin var 或 val)以及可能的其他特定于語言的選項(xiàng),如下面的 Kotlin 屏幕截圖所示 — 是否指定類型。
2.將選擇提取到字段/屬性
(Ctrl + Alt + F / Cmd + Opt + F)
IntelliJ 提供的選項(xiàng)取決于語言,在下面的屏幕截圖中 — 是為類定義還是為文件定義。選擇后,您仍然可以使用與提取局部變量相同的選項(xiàng)。
3.提取選擇到一個(gè)方法
(Ctrl + Alt + M / Cmd + Opt + M)
在窗口中,您將看到一旦您點(diǎn)擊快捷組合,您就可以控制參數(shù)的可見性、順序和名稱,當(dāng)然還有新方法的名稱。
4.內(nèi)聯(lián)函數(shù)
(Ctrl + Alt + N / Cmd + Opt + N)
這與上面所有 3 個(gè)相反——將變量、字段或方法放回它們被使用的地方。同樣,您有一些選項(xiàng),例如內(nèi)聯(lián)單次或多次出現(xiàn)。
5.移動(dòng)到下一個(gè)或上一個(gè)光標(biāo)位置
(Ctl + Alt + ← 或 → / Cmd + Opt + ← 或 →)
這是快速瀏覽您編輯的最后幾個(gè)位置的好方法。
6.代碼生成
(Alt + Insert / Cmd + N)
同樣,鑒于結(jié)果是 *上下文 *菜單,它取決于上下文,但通常你會(huì)用它來生成無聊的位,如equals(), hashCode(), getters 和 setters 或構(gòu)造函數(shù),實(shí)現(xiàn)接口方法等。
7.重命名變量、方法、類等
(Ctrl + Alt + R / Shift + F6)
這可能是所有人都非常熟悉的選項(xiàng),它絕對(duì)是救星。如果您僅依靠復(fù)制粘貼來重命名可能已隱藏在代碼中某處的變量,您可能最終會(huì)遇到錯(cuò)誤。
有趣的是,您還可以僅重命名特定的事件或查找所有用法。重命名包時(shí),您可以只重命名目錄,也可以重命名包,因此請(qǐng)謹(jǐn)慎選擇。
8.重構(gòu)This
(Ctrl+Alt+Shift+T / Ctrl + T)
這是一個(gè)包羅萬象的捷徑。如果你不想一下子記住所有的東西,只要先記住這個(gè),其余的就會(huì)及時(shí)出現(xiàn)。此組合向您顯示所有可用的重構(gòu)選擇。所有以前的快捷方式都在這里,因此您可以將其用作起點(diǎn)。
此外,讓我提請(qǐng)您注意一些不那么常用的重構(gòu):
Pull Members Up
——將選定的成員(字段或方法)移動(dòng)到父類Push Members Down
— 將選定的成員(字段或方法)移動(dòng)到子類
在處理更復(fù)雜的層次結(jié)構(gòu)時(shí),這些非常棒,例如,如果您正在開發(fā) API。
- 提取超類
- 提取接口
啟動(dòng)該過程后,您可以在彈出窗口中設(shè)置所有其他詳細(xì)信息。
9. 檢查代碼
這不完全是一個(gè)捷徑,但它是保持代碼整潔的好方法。它位于 Code Menu -> Inspect Code…
下,您可以通過將分析范圍限制為文件、模塊、包或整個(gè)項(xiàng)目來選擇分析范圍。
然后它將為您提供按語言/框架和類型分組的問題和潛在問題列表。
對(duì)于一些更簡(jiǎn)單的警告,您可以通過右鍵單擊并選擇建議的解決方案來解決,對(duì)于其他警告,您將不得不這樣做。
10. 轉(zhuǎn)到聲明或用法
- 去聲明一個(gè)成員
(Ctrl + Alt + B / Cmd + Opt + B)
- 轉(zhuǎn)到某個(gè)成員的用法
(Ctrl + Alt + B / Cmd + Opt + B)
— 如果您多次使用該成員,您將看到上下文菜單彈出窗口,允許您選擇確切的位置
以上就是IntelliJ中高效重構(gòu)的10個(gè)快捷方式詳解的詳細(xì)內(nèi)容,更多關(guān)于IntelliJ高效重構(gòu)快捷方式的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
servlet異步請(qǐng)求的實(shí)現(xiàn)
本文主要介紹了servlet異步請(qǐng)求的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07使用eclipse打包Maven項(xiàng)目的實(shí)現(xiàn)步驟
本文主要介紹了使用eclipse打包Maven項(xiàng)目的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-03-03解讀@RequestBody與post請(qǐng)求的關(guān)系
這篇文章主要介紹了解讀@RequestBody與post請(qǐng)求的關(guān)系,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12SpringBoot異步實(shí)現(xiàn)的8種方式
異步執(zhí)行對(duì)于開發(fā)者來說并不陌生,在實(shí)際的開發(fā)過程中,很多場(chǎng)景多會(huì)使用到異步,本文主要介紹了SpringBoot異步實(shí)現(xiàn)的8種方式,具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09如何用匿名內(nèi)部類實(shí)現(xiàn) Java 同步回調(diào)
這篇文章主要介紹了如何用匿名內(nèi)部類實(shí)現(xiàn) Java 同步回調(diào),幫助大家更好的理解和學(xué)習(xí)Java,感興趣的朋友可以了解下2020-10-10