工欲善其事必先利其器,IDEA最好用插件推薦

程序style 發佈 2020-01-11T07:09:02+00:00

打開方式Analyze > Open Stack trace to UML plugin + Generate UML diagrams from stacktrace from debug2.12 Java Stream DebuggerStream 非常好用,可以靈活對數據進



1 背景

俗話說:「工欲善其事必先利其器」,本文介紹幾款強大實用的 IDEA 插件,助力大家開發。

希望大家做一個聰明又努力的人,而不只是一個努力的人。

以下插件大都可以通過 IDEA 自帶的插件管理中心安裝,如果搜不到可以去 IDEA 插件官網下載本地導入。

具體安裝介面不同版本 IDEA略有差異,請自行研究。

如果連插件安裝都不願意學、學不會的話,很難成為一名合格的 Java 開發工程師。

2 插件推薦

2.1 Alibaba Java Coding Guidelines

首先要推薦的是和《手冊》配套的阿里巴巴 Java代碼規範插件。

安裝該插件後,代碼超過 80 行、手動創建線程池等,這些和《手冊》中的規約不符時,IDEA中會給出警告提示。

建議大家一定一定一定要安裝該插件,它會幫助你檢查出很多隱患,督促你寫更規範的代碼。

2.2 jclasslib bytecode viewer

下面要隆重介紹的是一款可視化的字節碼查看插件:jclasslib 。

大家可以直接在 IDEA 插件管理中安裝(安裝步驟略)。

使用方法

  1. 在 IDEA 打開想研究的類。
  2. 編譯該類或者直接編譯整個項目( 如果想研究的類在 jar 包中,此步可略過)。
  3. 打開「view」 菜單,選擇「Show Bytecode With jclasslib」 選項。
  4. 選擇上述菜單項後 IDEA 中會彈出 jclasslib 工具窗口。

那麼有自帶的強大的反彙編工具 javap 還有必要用這個插件嗎?

這個插件的強大之處在於:

  1. 不需要敲命令,簡單直接,在右側方便和原始碼進行對比學習。
  2. 字節碼命令支持超連結,點擊其中的虛擬機指令即可跳轉到 jvms 相關章節,超級方便。

該插件對我們學習虛擬機指令有極大的幫助。

詳細安裝和介紹參考另外一篇手記:https://www.imooc.com/article/296257

2.3 Codota

另外一個不得不說的就是專欄中提到的輔助開發神器: Codota。

可以點擊下圖所示「Add Codota to you IDEA」 了解安裝步驟。


該插件的強大之處在於:

  1. 支持智能代碼自動提示,該功能可以增強 IDEA 的代碼提示功能。
  2. 支持 JDK 和知名第三方庫的函數的使用方法搜索,可以看到其他知名開源項目對該函數的用法。

當我們第一次使用某個類,對某個函數不夠熟悉時,可以通過該插件搜索相關用法,快速模仿學習。

如上圖所示,我們想了解 Stream 類中 flatMap 函數的用法,可以使用該插件查看知名開源項目的用法。

插件窗口頂部還給出了該類最常用的函數,可以點擊查看相關用法案例,每個案例右側的 "view source"可以跳轉到該片段對應的開源項目的源碼中。

2.4 Auto filling Java call arguments

開發中,我們通常會調用其他已經編寫好的函數,調用後需要填充參數,但是絕大多數情況下,傳入的變量名稱和該函數的參數名一致,當參數較多時,手動單個填充參數非常浪費時間。

該插件就可以幫你解決這個問題。

安裝完該插件以後,調用一個函數,使用 Alt+Enter 組合鍵,調出 "Auto fill call parameters" 自動使用該函數定義的參數名填充。

2.5 GenerateO2O、GenerateAllSetter

我們定義好從 A 類轉換到 B 類的函數轉換函數後,使用這兩個插件可以自動調用 Getter 和 Setter 函數實行自動轉換。

實際開發中還有一個非常常見的場景: 我們創建一個對象後,想依次調用 Setter 函數對屬性賦值,如果屬性較多很容易遺漏或者重複。

可以使用這 GenerateAllSetter 提供的功能,自動調用所有 Setter 函數(可填充默認值),然後自己再跟進實際需求設置屬性值。

2.6 Material Theme UI

對於很多人而言,寫代碼時略顯枯燥的,如果能夠安裝自己喜歡的主題將為開發工作帶來些許樂趣。

IDEA 支持各種主題插件,其中最出名的當屬 Material Theme UI。

安裝後,可以從該插件內置的各種風格個選擇自己最喜歡的一種。

2.7 Rainbow Brackets

由於很多人沒有養成好的編碼風格,沒有隨手 format 代碼的習慣,甚至有些同事會寫代碼超過幾百行,閱讀起來將非常痛苦。

痛苦的原因之一就是找到上下文,由於括號太多,不確定當前代碼行是否屬於某個代碼塊,此時這個插件就會幫上大忙。

插件 github 地址:https://github.com/izhangzhihao/intellij-rainbow-brackets

大家可以觀看其 github 首頁的動圖體會和學習其強大功能。

2.8 Maven Helper

現在 Java 項目通常會使用 maven 或者 gradle 構建,對於maven 項目來說, jar 包衝突非常常見。

那麼如何更容易地查看和解決 jar 包衝突呢?

大家可以安裝該插件,安裝後 IDEA 中打開 pom.xml 文件時,就會多出一個 "Dependency Analyzer" 選項卡。

如上圖所示,該插件支持值插件衝突的 jar 包,可以選擇衝突的 jar 包將其 exclude 掉。

2.9 FindBugs

程式設計師總是想儘可能地避免寫 BUG, FindBugs 作為靜態代碼檢查插件,可以檢查你代碼中的隱患,並給出原因。


當然還有很多類似的靜態代碼檢查插件,大家可以自行了解安裝。

2.10 SequenceDiagram

SequenceDiagram 可以根據代碼調用鏈路自動生成時序圖,超級贊,超級推薦!

這對研究源碼,梳理工作中的業務代碼有極大的幫助,堪稱神器。

安裝完成後,在某個類的某個函數中,右鍵 --> Sequence Diagaram 即可調出。

如下圖是 Netty 的源碼,可以通過該插件繪製出當前函數的調用鏈路。

雙擊頂部的類名可以跳轉到對應類的源碼中,雙擊調用的函數名可以直接調入某個函數的源碼,總之非常強大。

2.11 Stack trace to UML

Stack trace to UML 支持根據 JVM 異常堆棧畫 UML時序圖和通信圖。

打開方式 Analyze > Open Stack trace to UML plugin + Generate UML diagrams from stacktrace from debug

2.12 Java Stream Debugger

Stream 非常好用,可以靈活對數據進行操作,但是對很多剛接觸的人來說,不好理解。

那麼 Java Stream Debugger 這款神器的 IDEA 就可以幫到你。它可以將 Stream 的操作步驟可視化,非常有助於我們的學習。


2.13 JOL Java Object Layout

https://plugins.jetbrains.com/plugin/10953-jol-java-object-layout

查看對象布局和大小的插件,非常贊。

2.14 其他

IDEA 的插件浩如煙海,好的IDEA 插件歡迎留言交流。

另外大家可以通過 IDEA插件官網進行搜索,有海量插件供你選擇。

------------------------------------------------------------

想學習開發中比較有幫助的插件,更多開發和避坑技巧,少走彎路,請關注《阿里巴巴Java 開發手冊》詳解專欄。


作者:明明如月

連結:https://www.imooc.com/article/296447

來源:慕課網

本文首次發布於慕課網 ,轉載請註明出處,謝謝合作

關鍵字: