10 個(gè)解放雙手的 IDEA插件,少些冤枉代碼(第三彈)
共 2710字,需瀏覽 6分鐘
·
2024-05-18 11:30
好久沒(méi)發(fā)這種實(shí)用貼了,最近用到了一些能提升工作效率的IDEA插件,給小伙伴們分享一下。相信我,我分享的這些插件,都是實(shí)實(shí)在在能解決實(shí)際開發(fā)場(chǎng)景中痛處的。
1、POJO to JSON
開發(fā)工作中,常常在設(shè)計(jì)完API后,會(huì)使用如GsonFormat工具來(lái)將設(shè)計(jì)文檔上的JSON格式數(shù)據(jù)生成Java實(shí)體類,這可以節(jié)省很多時(shí)間。
不過(guò),在某些情況下,我們需要將已有實(shí)體類轉(zhuǎn)換為JSON格式數(shù)據(jù),那我通常不得不依賴于手動(dòng)執(zhí)行單元測(cè)試或在main方法中,使用JSON處理庫(kù)(例如fastjson等)來(lái)實(shí)現(xiàn)對(duì)象到JSON字符串的轉(zhuǎn)換,是一件比較麻煩的事情。
使用POJO to JSON插件就讓這件事容易的多,只要在實(shí)體類名上右鍵執(zhí)行MakeJson,即可生成該類對(duì)應(yīng)的JSON數(shù)據(jù),而且它支持多層級(jí)的對(duì)象。
2、Cool Request
Cool Request是一款基于IDEA的HTTP調(diào)試工具,可以看成是輕量版的postman,它會(huì)自動(dòng)掃描項(xiàng)目代碼中所有API路徑,按項(xiàng)目分組管理。一個(gè)類被定義為Controller且其中的方法被@RequestMapping或者@XXXMapping注解標(biāo)注以后就會(huì)被掃描到。
對(duì)應(yīng)方法左側(cè)會(huì)出現(xiàn)一個(gè)標(biāo)志,點(diǎn)擊展開右側(cè)邊欄就可以像在Postman中一樣進(jìn)行調(diào)試。它支持CURL命令的導(dǎo)入導(dǎo)出、環(huán)境設(shè)置等功能,基本滿足開發(fā)調(diào)試需求。而且,還支持將API導(dǎo)出到Apifox,使得文檔導(dǎo)出變得非常簡(jiǎn)單。整體而言,這個(gè)功能確實(shí)很實(shí)用。
3、CamelCase
CamelCase是個(gè)命名風(fēng)格轉(zhuǎn)換插件,在進(jìn)行代碼規(guī)范掃描審查時(shí),我覺(jué)得這個(gè)插件非常實(shí)用,修改起來(lái)很簡(jiǎn)單。舉個(gè)例子:假設(shè)我將靜態(tài)變量命名為aaaBaa,但作為一名資深程序員來(lái)說(shuō),這樣命名靜態(tài)變量顯然不夠?qū)I(yè)??!
public static final String aaaBaa = "aaaBaa";
為了更加規(guī)范些,我們要將變量名改為大寫字母下劃線分割的格式。使用CamelCase可以在 kebab-case,SNAKE_CASE,PascalCase,camelCase,snake_case 和 空格風(fēng)格之間切換。
mac快捷鍵為 ?+?+ U ,windows 下為 Shift + Alt +U。
4、any-rule
any-rule是一個(gè)正則表達(dá)式字典庫(kù),盡管在日常開發(fā)中其使用頻率可能不是特別高,但它無(wú)疑是一個(gè)極為實(shí)用的工具。它涵蓋了廣泛的正則表達(dá)式類型,幾乎包括了你能想到的所有規(guī)則。
使用直接右鍵選擇AnyRule,支持搜索、正則驗(yàn)證、示例展示。
5、Grep Console
Grep Console可以自定義控制臺(tái)輸出格式,對(duì)控制臺(tái)中不同級(jí)別的日志設(shè)置成不同的顏色。
驗(yàn)證一下不同級(jí)別的日志在控制臺(tái)輸出的情況,不同級(jí)別顯示不同顏色,這樣在控制臺(tái)查看日志就一目了然了。
@Test
public void logTest() {
log.info("公眾號(hào):程序員小富");
log.error("公眾號(hào):程序員小富");
log.warn("公眾號(hào):程序員小富");
log.debug("公眾號(hào):程序員小富");
log.trace("公眾號(hào):程序員小富");
}
6、GenerateO2O
GenerateO2O插件可以讓我們少些很多代碼,比如在開發(fā)接口時(shí),常常需要將查詢得到的PO對(duì)象轉(zhuǎn)換為DTO對(duì)象。通常情況下,需要手動(dòng)編寫Converter轉(zhuǎn)換方法,但借助這個(gè)插件,可以自動(dòng)生成轉(zhuǎn)化屬性的代碼,可以少寫很多無(wú)趣代碼。
7、Smart input
Smart input解決了一件很煩的事,它能幫我們?cè)诓煌木幋a區(qū)域內(nèi)切換輸入法狀態(tài)。就是這個(gè)插件可以在我要寫注釋時(shí)它切換成中文輸入,寫代碼就會(huì)切換成英文輸入法,不用在手動(dòng)切換了。
8、Squaretest
這款插件能夠自動(dòng)生成Mock單元測(cè)試,之前我認(rèn)為它是一個(gè)可有可無(wú)的插件。直至公司開始實(shí)施代碼質(zhì)量管控并將單元測(cè)試覆蓋率列為KPI的一部分。不過(guò),對(duì)于習(xí)慣編寫單元測(cè)試的同學(xué)來(lái)說(shuō),這個(gè)插件無(wú)疑是一把解放雙手的利器!
這個(gè)插件生成的mock測(cè)試代碼基本上可以直接運(yùn)行,質(zhì)量很高。不過(guò)好像現(xiàn)在收費(fèi)了,退而求其次可以使用TestMe。
9、TONGYI Lingma
通義靈碼是阿里推出的一款A(yù)I編程插件,經(jīng)過(guò)我的實(shí)際體驗(yàn)后,勉勉強(qiáng)強(qiáng)可以平替GPT、Copilot,更重要的是它免費(fèi)!
該插件可以通過(guò)自然語(yǔ)言描述你想要的功能,可直接在編輯器區(qū)生成代碼;根據(jù)代碼上下文補(bǔ)全代碼;支持根據(jù)JUnit、Mockito、Spring Test、unit test、pytest 等框架生成單元測(cè)試(和Squaretest一樣);它還具備和GPT一樣的問(wèn)答功能。
10、Auto filling Java call arguments
例如,當(dāng)在方法A中調(diào)用方法B時(shí),由于方法B具有較多參數(shù),使用該插件可以自動(dòng)填充調(diào)用方法的參數(shù),無(wú)需逐個(gè)手動(dòng)填寫,從而節(jié)省大量復(fù)制粘貼的操作。
總結(jié)
感謝這些插件的開發(fā)者們,為我們提供了如此便利高效的工具,極大地提升了我們編程的效率。希望大佬們繼續(xù)為開發(fā)者社區(qū)帶來(lái)更多優(yōu)秀的工具和創(chuàng)新,讓編程變得更加愉快和高效。
程序汪接私活項(xiàng)目目錄,2023年總結(jié)
Java項(xiàng)目分享 最新整理全集,找項(xiàng)目不累啦 07版
歡迎添加程序汪微信 itwang009 進(jìn)粉絲群和朋友圈
