大家好,我是小富~
好久沒發這種實用貼了,最近用到了一些能提升工作效率的IDEA
插件,給小夥伴們分享一下。相信我,我分享的這些插件,都是實實在在能解決實際開發場景中痛處的。
以往的兩篇IDEA插件分享:
10個解放雙手的 IDEA 插件,這些代碼真不用手寫(第二彈)
1、POJO to JSON
開發工作中,常常在設計完API
後,會使用如GsonFormat
工具來將設計文檔上的JSON格式數據生成Java實體類,這可以節省很多時間。
不過,在某些情況下,我們需要將已有實體類轉換爲JSON格式數據,那我通常不得不依賴於手動執行單元測試或在main
方法中,使用JSON處理庫(例如fastjson
等)來實現對象到JSON字符串的轉換,是一件比較麻煩的事情。
使用POJO to JSON插件就讓這件事容易的多,只要在實體類名上右鍵執行MakeJson
,即可生成該類對應的JSON數據,而且它支持多層級的對象。
2、Cool Request
Cool Request
是一款基於IDEA的HTTP調試工具,可以看成是輕量版的postman,它會自動掃描項目代碼中所有API路徑,按項目分組管理。一個類被定義爲Controller
且其中的方法被@RequestMapping
或者@XXXMapping
註解標註以後就會被掃描到。
對應方法左側會出現一個標誌,點擊展開右側邊欄就可以像在Postman
中一樣進行調試。它支持CURL命令的導入導出、環境設置等功能,基本滿足開發調試需求。而且,還支持將API導出到Apifox
,使得文檔導出變得非常簡單。整體而言,這個功能確實很實用。
3、CamelCase
CamelCase
是個命名風格轉換插件,在進行代碼規範掃描審查時,我覺得這個插件非常實用,修改起來很簡單。舉個例子:假設我將靜態變量命名爲aaaBaa,但作爲一名資深程序員來說,這樣命名靜態變量顯然不夠專業啊!
public static final String aaaBaa = "aaaBaa";
爲了更加規範些,我們要將變量名改爲大寫字母下劃線分割的格式。使用CamelCase
可以在 kebab-case
,SNAKE_CASE
,PascalCase
,camelCase
,snake_case
和 空格風格之間切換。
mac快捷鍵爲 ⇧+⌥+ U ,windows 下爲 Shift + Alt +U。
4、any-rule
any-rule
是一個正則表達式字典庫,儘管在日常開發中其使用頻率可能不是特別高,但它無疑是一個極爲實用的工具。它涵蓋了廣泛的正則表達式類型,幾乎包括了你能想到的所有規則。
使用直接右鍵選擇AnyRule
,支持搜索、正則驗證、示例展示。
5、Grep Console
Grep Console
可以自定義控制檯輸出格式,對控制檯中不同級別的日誌設置成不同的顏色。
驗證一下不同級別的日誌在控制檯輸出的情況,不同級別顯示不同顏色,這樣在控制檯查看日誌就一目瞭然了。
@Test
public void logTest() {
log.info("公衆號:程序員小富");
log.error("公衆號:程序員小富");
log.warn("公衆號:程序員小富");
log.debug("公衆號:程序員小富");
log.trace("公衆號:程序員小富");
}
6、GenerateO2O
GenerateO2O
插件可以讓我們少些很多代碼,比如在開發接口時,常常需要將查詢得到的PO對象轉換爲DTO對象。通常情況下,需要手動編寫Converter
轉換方法,但藉助這個插件,可以自動生成轉化屬性的代碼,可以少寫很多無趣代碼。
7、Smart input
Smart input
解決了一件很煩的事,它能幫我們在不同的編碼區域內切換輸入法狀態。就是這個插件可以在我要寫註釋時它切換成中文輸入,寫代碼就會切換成英文輸入法,不用在手動切換了。
8、Squaretest
這款插件能夠自動生成Mock單元測試,之前我認爲它是一個可有可無的插件。直至公司開始實施代碼質量管控並將單元測試覆蓋率列爲KPI的一部分。不過,對於習慣編寫單元測試的同學來說,這個插件無疑是一把解放雙手的利器!
這個插件生成的mock測試代碼基本上可以直接運行,質量很高。不過好像現在收費了,退而求其次可以使用TestMe
。
9、TONGYI Lingma
通義靈碼是阿里推出的一款AI編程插件,經過我的實際體驗後,勉勉強強可以平替GPT
、Copilot
,更重要的是它免費!
該插件可以通過自然語言描述你想要的功能,可直接在編輯器區生成代碼;根據代碼上下文補全代碼;支持根據JUnit、Mockito、Spring Test、unit test、pytest 等框架生成單元測試(和Squaretest
一樣);它還具備和GPT一樣的問答功能。
10、Auto filling Java call arguments
例如,當在方法A中調用方法B時,由於方法B具有較多參數,使用該插件可以自動填充調用方法的參數,無需逐個手動填寫,從而節省大量複製粘貼的操作。
總結
感謝這些插件的開發者們,爲我們提供瞭如此便利高效的工具,極大地提升了我們編程的效率。希望大佬們繼續爲開發者社區帶來更多優秀的工具和創新,讓編程變得更加愉快和高效。
我是小富~ 下期見!