分享幾個(gè)常用的 IDEA 插件,每一個(gè)都能提高工作效率
作為一個(gè)程序員,雖然阿粉不承認(rèn)自己每天都在搬磚,但是事實(shí)告訴阿粉自己就是在搬磚,那如何高效的搬磚就成了阿粉持續(xù)研究的課題,畢竟通過(guò)高效的搬磚過(guò)后,阿粉才能有時(shí)間好好摸魚(yú)。今天阿粉就把自己工作中最常用的幾個(gè) IDEA 插件分享給大家,幫助大家提高工作效率(更好的搬磚)。
GenerateAllSetter Postfix Completion
相信大家在日常寫(xiě)代碼的時(shí)候,經(jīng)常會(huì)遇到 DTO,VO 等其他的 POJO 進(jìn)行互換的場(chǎng)景,字段的類型和名稱都相同,就是需要完全的一個(gè)個(gè)進(jìn)行賦值,這里一般會(huì)有兩種寫(xiě)法,作為有經(jīng)驗(yàn)的程序員相信大家都會(huì)使用 BeanUtils.copyProperties() 的實(shí)現(xiàn),不管是采用哪個(gè)工具包下的 copy 方法,原理都是一樣的,只是有的效率高點(diǎn)有的效率低的,但是不管怎么樣還是很方便的;
但是對(duì)于一些有性能要求或者字段不多的實(shí)體來(lái)說(shuō),想最大的提升性能,那就只能一個(gè)個(gè)字段手動(dòng)進(jìn)行 set 和 get 了,這個(gè)插件的功能就是幫助大家在滿足性能的前提下盡量的減少無(wú)效的工作量。
通過(guò)安裝了這個(gè)插件過(guò)后,在遇到我們需要一個(gè)個(gè)手動(dòng)進(jìn)行 set 和 get 的場(chǎng)景的時(shí)候,就可以通過(guò)快捷操作來(lái)批量進(jìn)行,給大家演示一下,我們用兩個(gè)類,分別是 UserDTO 和 UserVO。
package com.example.demo.dto;
/**
* <br>
* <b>Function:</b><br>
* <b>Author:</b>@author ziyou<br>
* <b>Date:</b>2022-06-27 21:33<br>
* <b>Desc:</b>無(wú)<br>
*/
public class UserDTO {
private String username;
private int age;
private String birthday;
private int height;
private int weight;
private String job;
...省略 getter 和 setter
}
package com.example.demo.vo;
/**
* <br>
* <b>Function:</b><br>
* <b>Author:</b>@author Silence<br>
* <b>Date:</b>2022-06-27 21:33<br>
* <b>Desc:</b>無(wú)<br>
*/
public class UserVO {
private String username;
private Integer age;
private String birthday;
private int height;
private int weight;
private String job;
...省略 getter 和 setter
}
我們?cè)谛枰O(shè)置屬性值的地方通過(guò)使用下面的方式進(jìn)行使用,
allsetn:表示批量生成 set 方法,不攜帶默認(rèn)值;
allset:表示批量生成 set 方法,攜帶默認(rèn)值;
allsetc:表示以連續(xù)"."的形式生成 set 方法;
allget:表示批量生成 get 方法;
有小伙伴就說(shuō)了,生成了所有的 set 方法,不還是一個(gè)個(gè)手動(dòng)寫(xiě)每個(gè) get 方法嗎,沒(méi)有減少多少工作量,接下來(lái)就是這個(gè)插件的強(qiáng)大之處了,這種情況我們可以先完成一個(gè)字段的設(shè)置,然后再通過(guò)后綴 .convert 來(lái)完成剩下所有的字段的設(shè)置。注意這里字段的名稱必須相同。
這里阿粉在想是不是可以再省略一步,直接通過(guò) .convert 來(lái)完成所有字段的設(shè)值就可以了,沒(méi)必要先設(shè)置一個(gè)字段,再通過(guò) .convert 來(lái)操作。
Maven Helper
第二個(gè)給大家介紹的插件,相信很多小伙伴也在使用,那就是Maven Helper,這個(gè)插件,用不上的時(shí)候可能覺(jué)得沒(méi)啥用,一旦真遇到Jar 包沖突的時(shí)候,真能快速救火。
阿粉之前一直沒(méi)怎么使用過(guò)這個(gè)插件,最近因?yàn)橐粋€(gè)三方庫(kù)有漏洞,在做版本升級(jí)的時(shí)候就遇到了困難,這個(gè)三方庫(kù)被很多二方庫(kù)引用,排除了一個(gè)又一個(gè),最后還是通過(guò)這個(gè)插件來(lái)完美的解決了。
這個(gè)插件可以將 pom 文件進(jìn)行下面的形式展示,可以找到?jīng)_突的包并且一鍵排除,爽歪歪。
GsonFormat-Plus
平常工作的時(shí)候,經(jīng)常會(huì)遇到要通過(guò) JSON 格式的字符串來(lái)創(chuàng)建對(duì)應(yīng)的 POJO 類,JSON 簡(jiǎn)單的時(shí)候還可以通過(guò)手來(lái)敲,但是當(dāng) JSON 格式較為復(fù)雜的時(shí)候,就比較麻煩了,這個(gè)時(shí)候 GsonFormat 就很好用,只要將 JSON 字符串填到文本窗口內(nèi),然后就可以一鍵生成 POJO 類,并且還可以自動(dòng)創(chuàng)建內(nèi)部類。
安裝完成過(guò)后,我們新建一個(gè)類,然后通過(guò)快捷鍵 Ctrl/Command + N 或者右鍵選擇,或者通過(guò)菜單欄的代碼-》生成來(lái)觸發(fā)插件,然后就 JSON 字符串輸入進(jìn)行,在左下角可以進(jìn)行設(shè)置自己的風(fēng)格,最后確認(rèn)就行。
具體的設(shè)置大家可以根據(jù)自己的情況來(lái)設(shè)置,是否需要使用 JSON 庫(kù),需不需要 lombok 都可以設(shè)置,以及駝峰轉(zhuǎn)換和是否使用包裝類型,功能還是蠻強(qiáng)大的。
總結(jié)
有道是工欲善其事必先利其器,有了更順手的工具才能更好的完成工作,今天給大家介紹了三款常用的 IDEA 插件,IDEA 上面有很多好用的插件,后面再給大家分享,大家也可以在評(píng)論區(qū)留言自己使用到的一些插件,我們共同學(xué)習(xí)。