InteliJ IDEA常用插件推薦
1、社區版必備插件
2、Mybatis插件(推薦)
文檔地址: https://gejun123456.github.io/MyBatisCodeHelper-Pro/
使用教程:https://www.cnblogs.com/NeverCtrl-C/p/10193390.html
插件破解:https://zhile.io/2019/04/23/mybatis-code-helper-pro-crack.html
功能描述:
通過方法名(不需要方法的返回值和參數 會自動推導出來)來生成sql 可以生成大部分單表操作的
sql 只需要一個方法的名字即可 會自動補全好方法的參數和返回值 和springdatajpa的語句基本一致
sql全自動提示,sql正確性檢測,插件會識別mybatis的一系列標簽 如 include trim set
where,在這些標簽之后的sql可以自動提示數據庫的字段,檢測sql的正確性,從此不用擔心sql
寫錯
直接從Intellij自帶的數據庫或者配置一個數據庫生成crud代碼 自動檢測好 useGeneratedkey
自動配置好模塊的文件夾 只用添加包名就可以生成代碼了
從java類生成mybatis crud代碼 建表語句 支持生成service,建表支持生成多字段的索引
數據庫添加字段后可以繼續生成,不會修改之前已經在接口或xml添加的自定義的方法 無需再去進
行手動的添加
mybatis接口和xml的互相跳轉 支持一個mybatis接口對應多個xml
mybatis接口中的方法名重構支持
xml中的 param的自動提示 if test的自動提示 resultMap refid 等的自動提示
resultMap中的property的自動提示
xml中refid,resultMap等的跳轉到定義
檢測沒有使用的xml 可一鍵刪除
檢測mybatis接口中方法是否有實現,沒有則報紅 可創建一個空的xml
檢測resultmap的property是否有誤
param檢測 檢測#{ 中的內容是否有誤
ognl 支持 if test when test foreach bind中的自動補全,跳轉和檢測
mybatis接口中一鍵添加param注解
mybatis接口一鍵生成xml
支持spring 將mapper注入到spring中 intellij的spring注入不再報錯 支持springboot
一鍵生成mybatis接口的testcase 無需啟動spring,復雜sql可進行快速測試
一鍵生成兩張表關聯的join
一鍵從sql語句中 導出resultMap
3、Git相關插件
3.1、gitignore(推薦)
功能描述:
文件語法突出顯示
在項目視圖中為忽略的文件著色
Gitignore模板按名稱和內容過濾和選擇規則生成器
用戶自定義模板
按指定的Gitignore文件顯示忽略的文件(右鍵單擊.gitignore文件)
在當前選擇的目錄中創建文件
根據GitHub的模板集合生成Gitignore規則
從彈出菜單將選定的文件/目錄添加到Gitignore規則
建議.gitignore為新項目創建文件
帶有修復措施的條目檢查(重復,覆蓋,未使用,語法錯誤,相對條目)
注釋和括號支持
導航到項目視圖中的條目
重命名忽略文件中的條目
關閉打開的忽略文件操作
具有導入/導出功能的自定義用戶模板
文件語法突出顯示
在項目視圖中為忽略的文件著色
Gitignore模板按名稱和內容過濾和選擇規則生成器
用戶自定義模板
按指定的Gitignore文件顯示忽略的文件(右鍵單擊.gitignore文件)
在當前選擇的目錄中創建文件
根據GitHub的模板集合生成Gitignore規則
從彈出菜單將選定的文件/目錄添加到Gitignore規則
建議.gitignore為新項目創建文件
帶有修復措施的條目檢查(重復,覆蓋,未使用,語法錯誤,相對條目)
注釋和括號支持
導航到項目視圖中的條目
重命名忽略文件中的條目
關閉打開的忽略文件操作
具有導入/導出功能的自定義用戶模板
3.2、Git Integration 或 Git
idea內提供git版本管理的基礎功能,使用git必需安裝的。
3.3、GitToolBox(推薦)
在Idea的狀態欄顯示git狀態,還提供了定時fecth等功能。
3.4、Git Flow Integration(推薦)
用于在Idea里面使用Gitflow工作流,使用這個插件需要先在自己的電腦上面安裝好Gitflow。
3.5、GitLab Projects(推薦)
和GitLab Integration Plugin插件,使用Gitlab作為私有倉庫時有用。
Features:
GitLab Checkout support - add GitLab autocompleter to IDE Git checkout dialog
GitLab Share dialog - allows quick import of new projects to GitLab, user can specify
namespace and project visibility
GitLab Merge Request dialog - user can quickly create new merge requests from current
branch
GitLab Merge Request List dialog - user can list and accept all open code reviews
3.6、Git Commint Template(推薦)
提供使用如下模板創建提交日志的功能:
4、Alibaba Java Coding Guidelines(推薦)
用于檢查代碼是否符合阿里巴巴的代碼規范。需要在”Settings > Editor > Inspections > Ali-Check“中把
檢查打開。
5、Jrebel(強烈推薦)
熱部署插件,可大幅提高開發效率。
免費使用方法
激活地址:
http://jrebel.yanjiayu.cn:9001/{GUID}
https://jrebel.qekang.com/{GUID}
6、GenerateSerialVersionUID
用來在需要序列化的Java對象中生成GUID。
使用此插件前需要先在”Settings > Editor > Inspections > Java > Serialization issues"下把下圖中的檢
查打開
7、Lombok(推薦)
在Idea里面支持Lombok。Lombok的介紹1,介紹2,詳細使用說明
使用Lombok首先需要在項目中作如下設置
8、FindBugs(推薦)
檢測代碼中可能的bug及不規范的位置,寫完代碼后檢測下 避免低級bug。
靜態分析工具承諾無需開發人員費勁就能找出代碼中已有的缺陷。當然,如果有多年的編寫經驗,就會
知道這些承諾并不是一定能兌現。
插件提供地址:
https://plugins.jetbrains.com/plugin/3847-findbugs-idea
成功標志:重啟idea后如果插件加載成功左下角出現
8.1、FindBugs的Bug種類說明
8.1.1、Bad practice 壞的實踐
一些不好的實踐,下面列舉幾個:
HE:類定義了equals(),卻沒有hashCode();或類定義了equals(),卻使用Object.hashCode();
或類定義了hashCode(),卻沒有equals();或類定義了hashCode(),卻使用Object.equals();類
繼承了equals(),卻使用Object.hashCode()。
SQL:Statement 的execute方法調用了非常量的字符串;或Prepared Statement是由一個非常量
的字符串產生。
DE:方法終止或不處理異常,一般情況下,異常應該被處理或報告,或被方法拋出。
Malicious code vulnerability 可能受到的惡意攻擊
如果代碼公開,可能受到惡意攻擊的代碼,下面列舉幾個:
FI:一個類的finalize()應該是protected,而不是public的。
MS:屬性是可變的數組;屬性是可變的Hashtable;屬性應該是package protected的。
類名小寫問題:
8.1.2、Correctness 一般的正確性問題
可能導致錯誤的代碼,下面列舉幾個:
NP:空指針被引用;在方法的異常路徑里,空指針被引用;方法沒有檢查參數是否null;null值產
生并被引用;null值產生并在方法的異常路徑被引用;傳給方法一個聲明為@NonNull的null參
數;方法的返回值聲明為@NonNull實際是null。
Nm:類定義了hashcode()方法,但實際上并未覆蓋父類Object的hashCode();類定義了
tostring()方法,但實際上并未覆蓋父類Object的toString();很明顯的方法和構造器混淆;方法名
容易混淆。
SQL:方法嘗試訪問一個Prepared Statement的0索引;方法嘗試訪問一個ResultSet的0索引。
UwF:所有的write都把屬性置成null,這樣所有的讀取都是null,這樣這個屬性是否有必要存在;
或屬性從沒有被write。
8.1.3、Dodgy 危險的
具有潛在危險的代碼,可能運行期產生錯誤,下面列舉幾個:
CI:類聲明為final但聲明了protected的屬性。
DLS:對一個本地變量賦值,但卻沒有讀取該本地變量;本地變量賦值成null,卻沒有讀取該本地
變量。
ICAST:整型數字相乘結果轉化為長整型數字,應該將整型先轉化為長整型數字再相乘。
INT:沒必要的整型數字比較,如X <= Integer.MAX_VALUE。
NP:對readline()的直接引用,而沒有判斷是否null;對方法調用的直接引用,而方法可能返回
null。
REC:直接捕獲Exception,而實際上可能是RuntimeException。
ST:從實例方法里直接修改類變量,即static屬性。
8.1.4、Performance 性能問題
可能導致性能不佳的代碼,下面列舉幾個:
DM:方法調用了低效的Boolean的構造器,而應該用Boolean.valueOf(…);用類似
Integer.toString(1) 代替new Integer(1).toString();方法調用了低效的float的構造器,應該用靜
態的valueOf方法。
SIC:如果一個內部類想在更廣泛的地方被引用,它應該聲明為static。
SS:如果一個實例屬性不被讀取,考慮聲明為static。
UrF:如果一個屬性從沒有被read,考慮從類中去掉。
UuF:如果一個屬性從沒有被使用,考慮從類中去掉。
8.1.5、Multithreaded correctness 多線程的正確性
多線程編程時可能導致錯誤的代碼,下面列舉幾個:
ESync:空的同步塊,很難被正確使用。
MWN:錯誤使用notify(),可能導致IllegalMonitorStateException異常;或錯誤的使用wait()。
No:使用notify()而不是notifyAll(),只是喚醒一個線程而不是所有等待的線程。
SC:構造器調用了Thread.start(),當該類被繼承可能會導致錯誤。
8.1.6、Internationalization 國際化
當對字符串使用upper或lowercase方法,如果是國際的字符串,可能會不恰當的轉換。
9、Maven Helper(推薦)
作用:
一鍵查看maven依賴,查看沖突的依賴,一鍵進行exclude依賴
對于大型項目 非常方便
插件提供地址:
https://plugins.jetbrains.com/plugin/7179-maven-helper
成功標志:
重啟idea后如果插件加載成功 打開pom文件左下角出現:
實際應用:
切換Dependency Analyzer試圖即可進行相應操作:
1. Conflicts(查看沖突)
2. All Dependencies as List(列表形式查看所有依賴)
3. All Dependencies as Tree(樹形式查看所有依賴)
10、VisualVM Launcher
作用:
運行java程序的時候啟動visualvm,方便查看jvm的情況 比如堆內存大小的分配
某個對象占用了多大的內存,jvm調優必備工具
插件提供地址:
https://plugins.jetbrains.com/plugin/7115-visualvm-launcher
成功標志:
重啟idea后如果插件加載成功右上角出現:
實際應用:
首先需要一個客戶端(這里已經為大家準備好):
鏈接:https://pan.baidu.com/s/1kIduEykNNrYyZd1CwJpntg
密碼:bxib
將客戶端解壓
打開settings配置面板
配置excutable===》選擇到客戶端的bin目錄的visualvm.exe文件
然后點擊ok。apply應用一下.
先介紹這么多把,有時間再一一介紹,有興趣的可以參考文章頂部導航的插件,研究一下
IdeaHub華為云會議寶
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。