10 個解放雙手的 IDEA插件,少些冤枉代碼(第三彈)

大家好,我是小富~

好久沒發這種實用貼了,最近用到了一些能提升工作效率的IDEA插件,給小夥伴們分享一下。相信我,我分享的這些插件,都是實實在在能解決實際開發場景中痛處的。

以往的兩篇IDEA插件分享:

10個 解放雙手的 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-caseSNAKE_CASEPascalCasecamelCasesnake_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編程插件,經過我的實際體驗後,勉勉強強可以平替GPTCopilot,更重要的是它免費!

該插件可以通過自然語言描述你想要的功能,可直接在編輯器區生成代碼;根據代碼上下文補全代碼;支持根據JUnit、Mockito、Spring Test、unit test、pytest 等框架生成單元測試(和Squaretest一樣);它還具備和GPT一樣的問答功能。

10、Auto filling Java call arguments

例如,當在方法A中調用方法B時,由於方法B具有較多參數,使用該插件可以自動填充調用方法的參數,無需逐個手動填寫,從而節省大量複製粘貼的操作。

總結

感謝這些插件的開發者們,爲我們提供瞭如此便利高效的工具,極大地提升了我們編程的效率。希望大佬們繼續爲開發者社區帶來更多優秀的工具和創新,讓編程變得更加愉快和高效。

我是小富~ 下期見!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章