Idea告別996外掛
在IntelliJ IDEA中,秉著IDEA自帶能實現的快捷方式就不用外掛的原則,少用些外掛,執行效能也提升一些,雖然很少,哈哈。分享下我個人常用的外掛,希望對大家有些幫助。外掛不勝在多,其實不少外掛功能是重複的,通過以下外掛我很少切換其他頁面,都是IDEA裡完成,並大大提升編碼效率。
1.UID生成器
對於序列化物件,我們常要生成UID,不少童鞋是使用GenerateSerialVerionUID這個外掛,其實IDEA其實就自帶有實現的了。
在Preferences->Inspections->Serialization issues->Serialization class without 'serialVersionUID'勾選上,或者在Inspections裡直接搜UID就能看到。

然後我們新建一個javabean,例如User類並實現Serializable,游標移動到類名稱上或者F2,然後按下alt+enter鍵就會自動生成UID了。

2.Grep console
一款和IDEA Console相關的外掛,可以通過expression表示式過濾日誌,給不同級別的日誌或者給不同的pattern日誌加上背景顏色和上層顏色,其實嘛,也就是為了眼睛看得舒服點,定位日誌快一些。
效果圖如下:




3.Gsonformat
眾所周知,JSON(JavaScript Object Notation, JS 物件簡譜) 是一種輕量級的資料交換格式。它基於 ECMAScript (歐洲計算機協會制定的js規範)的一個子集,採用完全獨立於程式語言的文字格式來儲存和表示資料。而GSON是google推出的一個實現 JSON 與 Java 物件間轉化的庫,它可以輕鬆實現 JSON 與 Java 物件間的轉換。Gsonformat支援json轉為例項類。
使用Gsonformat也比較簡單,在IDE選單Code->Generate->Gsonformat,快捷鍵Mac option + S,win alt + S。在顯示框中複製需要轉換的json內容,然後確認資料型別是否符合,可點選不符合資料型別的進行選擇修改,點選確認即可生成。
如果需要把類中屬性轉為JSON,只需要在類中右鍵就可以看到生成JSON,點選後複製即可。



4.Lombok
Java語言,每次寫實體類的時候都需要寫一大堆的setter,getter,如果bean中的屬性一旦有修改、刪除或增加時,需要重新生成或刪除get/set等方法,給程式碼維護增加負擔,這也是Java被詬病的一種原因。Lombok則為我們解決了這些問題,使用了lombok的註解(@Setter,@Getter,@ToString,@@RequiredArgsConstructor,@EqualsAndHashCode或@Data)之後,就不需要編寫或生成get/set等方法,很大程度上減少了程式碼量,而且減少了程式碼維護的負擔。安裝完成之後,在應用Lombok的時候注意別忘了需要新增依,maven為例:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
@Setter
@Getter
@ToString
@EqualsAndHashCode
public class People {
private String name;
private int age;
private String male;
}
5.Mongo Plugin
Mongo客戶端,方便連線Mongo,可進行CRUD操作。

6.String Manipulation
一款非常強大的外掛,讓你免去很多無意思的機械操作,例如一堆字元需要轉換snake還是came case,或者出去大量的空白行之類,編碼解碼排序對其等等。用個十分鐘去熟悉下使用該外掛,無意思的鍵盤操作都變成幾秒的事情了。任一類中右鍵可以看到String Maninpulation或者快捷鍵mac option+m,win alt+m。1-A都可以鍵盤輸入操作,1為上一次操作。

7.JavaDoc
用於生成javadocs在java類的元素中,就是在所需要註釋的屬性上/*後回車,即可生成帶引數的註釋

8.Alibaba Java Config Guidelines
遵循p3c原則,用於檢測程式碼是否符合p3c規範,在類中右鍵可以看到Alibaba Coding Guidelines Anlyze可將不符合規約的程式碼按 Blocker/Critical/Major 三個等級顯示在下方,雙擊可以定位至程式碼處,右側視窗還有針對程式碼的批量修復功能。

9.JRebel and XRebel for IntelliJ
Java 熱部署外掛 ,大部分場景下修改了程式碼只要 Ctrl + B
編譯下程式碼就即時生效了,無需頻繁重啟專案。比起 SpringBoot 的 devtools 好用多了。另外,不建議開啟自動編譯,很消耗效能
10.Free MyBatis plugin
這個大家應該都挺熟悉的了,提供對 MyBatis 的支援,支援 Mapper.java 和 Mapper.xml 之間相互的程式碼跳轉,根據 Mapper.java 自動生成對應的 Mapper.xml 和 SQL 等功能。
11.Maven Helper
用於檢視maven依賴關係的,點選pom.xml檔案,下方會有Dependency Analyzer,可以非常直觀的看到依賴關係和進行衝突處理

12.Alibaba Cloud Toolkit
用於管理髮布應用到阿里雲的外掛,越來越功能豐富了,現在我都不用開啟阿里雲APP了。
13.Rainbow Brackets
挺好看的,五顏六色的花括號,方便檢視程式碼
14.Restful Tookit
做web開發非常實用,能夠快速檢視專案中存在的各個controller,並進行測試,用了它我經常都不用開postman,除了少數要改header來測試的,例如oauth2的介面。安裝完會在你ide工作皮膚的右邊,restservice。如果你右邊工具過多可能看不到,可以在選單欄View->Tool Window裡找到