五個很實用的IDEA使用技巧分享
日常開發(fā)中,相信廣大 Java 開發(fā)者都使用過 IntelliJ IDEA 作為開發(fā)工具,IntelliJ IDEA 是一款優(yōu)秀的 Java 集成開發(fā)環(huán)境,它提供了許多強(qiáng)大的功能和快捷鍵,可以幫助開發(fā)者提高編碼效率和質(zhì)量。除了一些常見的技巧,如自動導(dǎo)包、智能補(bǔ)全、重構(gòu)工具等。IntelliJ IDEA 還有一些不為人知的技巧,可能很多開發(fā)者都沒有注意到或者使用過。本文就在為你介紹博主常用的五個 IntelliJ IDEA 使用技巧,希望能夠給你帶來一些工作效率上的提升。本文內(nèi)容大綱如下:
- 注釋對齊
- 快速創(chuàng)建包目錄/文件夾
- 快付復(fù)制類代碼生成 Java 類
- 多實例啟動
- 分支比較
注意:本文的示例截圖以及操作演示都是基于 IntelliJ IDEA 2023.2 版本而來。過低版本可能不盡相同,大家注意。
注釋對齊
日常開發(fā)中,相信大家在添加注釋時都知道使用快捷鍵 ctrl + /
,不過大家可能會遇見下面這種情況,
public DiamondJumpContext(List<DiamondJumpType> diamondJumpTypes) { //添加注釋 for (DiamondJumpType diamondJumpType : diamondJumpTypes) { // map.put(diamondJumpType.getType(), diamondJumpType); } }
可以看到,使用快捷鍵 ctrl + /
添加注釋代碼或者注釋已有代碼時,默認(rèn)是在首行位置,無法與下方 for
循環(huán)代碼自動對齊,造成了視覺上的不美觀,那如何解決這個問題嘞?其實解決方法就藏在 IDEA 里,我來告訴大家如何設(shè)置。
打開 IDEA 設(shè)置 Editor -> Code Style -> Java -> Code Generation
,找到下方的 Comment code
區(qū)域, 取消 Line comment at first column
的默認(rèn)勾選,將 Add a space at line comment start
以及 Enforce on reformat
打上勾就可以了。如下圖所示,
然后我們重新給上面的示例代碼打賞注釋時,效果就是下面這樣了,
public DiamondJumpContext(List<DiamondJumpType> diamondJumpTypes) { // 添加注釋 for (DiamondJumpType diamondJumpType : diamondJumpTypes) { // map.put(diamondJumpType.getType(), diamondJumpType); } }
大家可以很明顯的看到,此時添加的注釋默認(rèn)是跟當(dāng)前代碼對齊,并且自動留出一個空格,代碼的可閱讀性有了很大提升。
快速創(chuàng)建包目錄/文件夾
創(chuàng)建包目錄
日常開發(fā)時,當(dāng)大家想新建 Java 類時,考慮到項目的包目錄劃分可能需要新建一個包目錄,那么大家是如何操作的嘞?是先創(chuàng)建好包目錄后,在創(chuàng)建 Java 類嗎?其實在 IDEA 中創(chuàng)建 Java 類時,是可以直接順帶創(chuàng)建包目錄的,具體操作如下。
在創(chuàng)建 Java 類時,直接寫出包目錄名稱通過 .
拼接即可,如下圖新建 Java 類時填上 controller.TestController
,
效果如下,
可以看到,包目錄自動創(chuàng)建成功。
創(chuàng)建文件夾
快速創(chuàng)建文件夾的方式跟快速創(chuàng)建包目錄差不多,只不過將 .
拼接改為 /
即可,如下圖新建文件時填上 template/test.csv
,
效果如下,
可以看到,文件夾自動創(chuàng)建成功。
快付復(fù)制類代碼生成Java類
日常中有個場景,博主經(jīng)常在上網(wǎng)瀏覽網(wǎng)上的技術(shù)資料,看到感興趣的文章時,想要復(fù)制文章中的 demo 代碼在本地跑一遍驗證一下。于是就有了這個快付復(fù)制代碼生成 Java 類的需求。起初博主老老實實通過常規(guī)操作在本地手動創(chuàng)建 Java 類,然后拷貝 demo 代碼進(jìn)行驗證。后來了解到其實在 IDEA 中是有快付復(fù)制類代碼生成 Java 類的功能,這里分享給大家。
假如當(dāng)前我們想要快速復(fù)制下方的 Java 類代碼到 IDEA 項目中,那改如何操作嘞?
/** * 金剛位跳轉(zhuǎn)策略配置 */ @Component public class DiamondJumpContext { private final Map<Integer, DiamondJumpType> map = new HashMap<>(); /** * 由spring自動注入DiamondJumpType子類 * * @param diamondJumpTypes 金剛位跳轉(zhuǎn)類型集合 */ public DiamondJumpContext(List<DiamondJumpType> diamondJumpTypes) { for (DiamondJumpType diamondJumpType : diamondJumpTypes) { map.put(diamondJumpType.getType(), diamondJumpType); } } public DiamondJumpType getInstance(Integer jumpType) { return map.get(jumpType); } }
其實操作是很簡單的,我們可以通過全選復(fù)制上述 Java 類代碼,然后打開 IDEA,鼠標(biāo)選中指定的包目錄后通過 ctrl + v
粘連即可。
效果如下,
可以看到,我們已經(jīng)將 Java 類代碼快速復(fù)制到本地文件中。
多實例啟動
日常本地開發(fā)微服務(wù)項目時,博主想要驗證一下網(wǎng)關(guān)的負(fù)載均衡以及感知服務(wù)上下線能力時,需要用到多實例啟動。
那么什么是多實例啟動嘞?簡單說就是能在本地同時啟動多個同一服務(wù)。打個比方項目中有一個 MobileApplication
服務(wù),我現(xiàn)在想要同時啟動兩個 MobileApplication
服務(wù),通過不同端口區(qū)分,該如何操作嘞?IDEA 中其實是支持這個操作的。我將給大家介紹如何啟用多實例功能。
打開服務(wù)配置,點擊 Modify options
選項,
勾選打開 Operation System -> Alow multiple instance
,繼續(xù)勾選打開 Java -> Program arguments
,然后在 Program arguments
輸入框中指定端口,在 Spring
項目中通過 --server.port=9999
,如下圖(注意每次啟動實例時,這里的端口不能相同),
效果圖如下,
可以看到,這里多實例啟動的功能就 OK 了,在 Modify options
選項中還有許多常用功能,對于日常開發(fā)都是很多幫助的,比如 Java -> add VM options
可以用來添加 jvm 啟動參數(shù)等。
分支比較
日常開發(fā)中,當(dāng)項目上線時,博主經(jīng)常會使用這個功能,用于比較當(dāng)前新功能分支與 master
分支的代碼差異。
假如新功能分支上線前經(jīng)歷了多個人員參與迭代以及沖突修復(fù),作為項目主程的你需要在項目上線前進(jìn)行代碼 review
,以確保代碼質(zhì)量,那該如何操作嘞? 其實 IDEA 已經(jīng)貼心的為我們做好了一切,這里我將給大家介紹遠(yuǎn)程分支比較功能。
右鍵項目根目錄,找到 Git -> Compare with Branch
選項,點擊打開,
此時 IDEA 會顯示項目的所有分支列表,我們從中找到 master
分支,點擊即可,
最后 IDEA 會顯示所有的文件差異在項目左側(cè)欄目,我們點擊某個文件即可查看某個具體差異。
效果如下,
可以看到,通過 IDEA 提供的分支比較功能,為我們進(jìn)行代碼 review
,提供了非常便利的操作。
總結(jié)
其實本文所講解的五個實用技巧不光在 IDEA 里可以使用,在 PhpStorm、PyCharm 中都是通用的,歡迎大家在瀏覽完本文后實踐體驗下。最后希望本文在日常工作中能夠幫助到大家,感謝閱讀。
以上就是五個很實用的IDEA使用技巧分享的詳細(xì)內(nèi)容,更多關(guān)于IDEA使用技巧的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
SpringAOP中的動態(tài)代理技術(shù)深入解析
這篇文章主要介紹了SpringAOP中的動態(tài)代理技術(shù)深入解析,spring默認(rèn)使用JDK動態(tài)代理實現(xiàn)AOP,類如果實現(xiàn)了接口,spring就會用JDK動態(tài)代理實現(xiàn)AOP,如果目標(biāo)類沒有實現(xiàn)接口,spring則使用Cglib動態(tài)代理來實現(xiàn)AOP,需要的朋友可以參考下2024-01-01springboot+mybatis攔截器方法實現(xiàn)水平分表操作
這篇文章主要介紹了springboot+mybatis攔截器方法實現(xiàn)水平分表操作,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下2022-08-08java解析json復(fù)雜數(shù)據(jù)的方法詳解
這篇文章主要為大家詳細(xì)介紹了java解析json復(fù)雜數(shù)據(jù)的兩種常用方法,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,需要的小伙伴可以了解下2024-01-01springboot+chatgpt+chatUI Pro開發(fā)智能聊天工具的實踐
本文主要介紹了springboot+chatgpt+chatUI Pro開發(fā)智能聊天工具的實踐,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04Spring Cloud 服務(wù)網(wǎng)關(guān)Zuul的實現(xiàn)
這篇文章主要介紹了Spring Cloud 服務(wù)網(wǎng)關(guān)Zuul的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07Spring?Cloud?Alibaba負(fù)載均衡實現(xiàn)方式
這篇文章主要為大家介紹了Spring?Cloud?Alibaba負(fù)載均衡實現(xiàn)方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10