IntelliJ IDEA 18 週歲,吐血推進珍藏已久的必裝外掛

HollisChuang發表於2019-01-21

IntelliJ IDEA是目前最好最強最智慧的Java IDE,前幾天,他剛剛年滿18歲。

IntelliJ IDEA 18 週歲,吐血推進珍藏已久的必裝外掛

本文,給大家推薦幾款我私藏已久的,自己經常使用的,可以提升程式碼效率的外掛。

IDEA外掛簡介

常見的IDEA外掛主要有如下幾類:

常用工具支援

Java日常開發需要接觸到很多常用的工具,為了便於使用,很多工具也有IDEA外掛供開發使用,其中大部分已經在IDEA中預設整合了。例如maven、git、svn、tomcat、jetty、jrebel、Gradle等。

功能增強

還有些外掛提供了一些IDE中不具有的功能,比如靜態程式碼掃描、程式碼自動生成等。

框架整合

整合框架主要是為了提供框架定製的程式碼和配置的生成,以及快速的訪問框架提供的功能。例如整合Spring框架,Mybatis框架等。

UI定製化及優化

UI定製化相關的外掛主要提供一下個性化需求定製,例如修改編輯區的背景圖片外掛、修改程式碼顏色等。

其他程式語言支援

IDEA主要支援Java,為了使用其他語言,可以使用一些支援其他語言的外掛,通過這些外掛可以實現語法分析,配色主題,程式碼格式化和提示等功能。例如Go語言的支援的外掛。

個人或者公司特殊需求

公司內部外掛

我的外掛一覽

這裡簡單介紹一些筆者日常開發中使用到的外掛。 以下是我的IDEA中自己安裝的外掛列表。這些外掛都是我經過很長時間的使用之後最終保留下來的,都是值得安裝的一些外掛。其中被我打碼的就是公司內部外掛。

IntelliJ IDEA 18 週歲,吐血推進珍藏已久的必裝外掛

IDEA外掛安裝

IDEA的外掛安裝非常簡單,對於很多外掛來說,只要你知道外掛的名字就可以在IDEA裡面直接安裝。

Preferences--->Plugins--->查詢所需外掛--->Install

或者

Preferences--->Plugins--->Install plug from disk --->選擇下載好的外掛安裝

安裝之後重啟IDEA即可生效

IDEA外掛倉庫

IntelliJ IDEA激發了許多Java開發人員編寫外掛, IntelliJ IDEA Plugins(plugins.jetbrains.com/?idea )中目前包含3000+個外掛並且還在不斷增長。

IntelliJ IDEA 18 週歲,吐血推進珍藏已久的必裝外掛

基本功能

作者目前使用的IntelliJ IDEA版本是專業版2018.2.4(Ultimate Edition)

IntelliJ IDEA 18 週歲,吐血推進珍藏已久的必裝外掛

很多外掛中提供的功能在這個版本中都已經整合進來了,這裡簡單說幾個可能比較常用的,這幾種功能就無需加裝外掛了。

背景圖片

目前,IDEA支援設定背景圖片。這對於廣大程式設計師來說無疑是個好功能。整日對著枯燥的程式碼實在是會讓人疲乏。要是可以設定一張美女圖片的話。。。

設定方法

Ctrl+Shift+A(或者help -> find action)呼叫彈窗後輸入Set Background Image

IntelliJ IDEA 18 週歲,吐血推進珍藏已久的必裝外掛

在裡面設定要設定為Image的圖片,透明度調到15左右,儲存即可。

IntelliJ IDEA 18 週歲,吐血推進珍藏已久的必裝外掛

效果如下

IntelliJ IDEA 18 週歲,吐血推進珍藏已久的必裝外掛

內建terminal

目前IntelliJ IDEA已經有一個內建的terminal工具,可以方便的使用shell命令。

IntelliJ IDEA 18 週歲,吐血推進珍藏已久的必裝外掛

內建support

目前很多新版本的IntelliJ IDEA中,已經內建了很多support外掛,比如我們常用的markdown support 、UML support 以及 android support等。

IntelliJ IDEA 18 週歲,吐血推進珍藏已久的必裝外掛

PS:由於作者使用的是專業版,不知道社群版是否也會內建這些外掛,如果沒有內建的話,讀者可以根據需要自行下載相關外掛並安裝。

有了markdowm support外掛以後,就可以直接預覽md語法的內容了。

IntelliJ IDEA 18 週歲,吐血推進珍藏已久的必裝外掛

必備外掛

Maven Helper

目前,Java開發很多都在使用maven進行專案管理和自動構建。

日常開發中,可能經常會遇到jar包衝突等問題,就需要通過檢視maven依賴樹來查檢視依賴情況。這種方式不是很高效,這裡推薦一個外掛,安裝之後,直接開啟pom檔案,即可檢視依賴數,還能自動分析是否存在jar包衝突。

一旦安裝了Maven Helper外掛,只要開啟pom檔案,就可以開啟該pom檔案的Dependency Analyzer檢視(在檔案開啟之後,檔案下面會多出這樣一個tab)。

IntelliJ IDEA 18 週歲,吐血推進珍藏已久的必裝外掛

進入Dependency Analyzer檢視之後有三個檢視選項,分別是Conflicts(衝突)、All Dependencies as List(列表形式檢視所有依賴)、All Dependencies as Tree(樹結構檢視所有依賴)。並且這個頁面還支援搜尋。

FindBugs-IDEA

FindBugs很多人都並不陌生,Eclipse中有外掛可以幫助查詢程式碼中隱藏的bug,IDEA中也有這款外掛。

使用方法很簡單,就是可以對多種級別的內容進行finbugs

IntelliJ IDEA 18 週歲,吐血推進珍藏已久的必裝外掛

分析完之後會有一個檢視進行提示,詳細的說明是哪種問題。

IntelliJ IDEA 18 週歲,吐血推進珍藏已久的必裝外掛
 按照提示解決完問題之後再執行findbug檢視情況即可。

阿里巴巴程式碼規約檢測

2017年10月14日杭州雲棲大會,Java程式碼規約掃描外掛全球首發儀式正式啟動,規範正式以外掛形式公開走向業界,引領Java語言的規範之路。

Java程式碼規約掃描外掛以今年年初發布的《阿里巴巴Java開發規約》為標準,作為Eclipse、IDEA的外掛形式存在,檢測JAVA程式碼中存在不規範得位置然後給予提示。規約外掛是採用kotlin語言開發的,感興趣的同學可以去開看外掛原始碼。

阿里巴巴規約外掛包含三個子選單:編碼規約掃描、關閉試試檢測功能。

IntelliJ IDEA 18 週歲,吐血推進珍藏已久的必裝外掛

並且,該外掛支援在編寫程式碼的同時進行提示,

IntelliJ IDEA 18 週歲,吐血推進珍藏已久的必裝外掛

這款外掛,真的可以很大程度上提升程式碼質量,一定要安裝。

GsonFormat

Java開發中,經常有把json格式的內容轉成Object的需求,比如專案開始時,合作方給你提供了一個json格式request/response,這時候你就需要將其定義成一個Java類,GsonFormat這款外掛可以實現該功能。

IntelliJ IDEA 18 週歲,吐血推進珍藏已久的必裝外掛

Lombok plugin

在Java中,我們經常會定義很多JavaBean,這些Bean需要有getter、setter、toString、equals和hashCode等方法。

通常情況下,我們可以使用IDEA的快捷鍵生成這些程式碼,但是自動生成的程式碼後,如果bean中的屬性一旦有修改,需要重新生成,給程式碼維護增加了一定的負擔。

有一款很好的外掛,可以幫助開發者節省這部分工作。那就是Lombok。

只要在IDEA中安裝了該外掛,只需要在JavaBean中新增一行註解程式碼,外掛就會自動幫我們生成getter、setter、toString、equals和hashCode等方法。

當然,這些方法不止在IDE中的程式碼呼叫中需要用到,在真正線上部署的時候也需要有,所以,還需要使用maven引入一個lombok的包。

<dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.16.10</version>
</dependency>

/**
 * @author Hollis
 */
public class HollisLab {

    public static void main(String[] args) {
        Wechat wechat = new Wechat();
        wechat.setId("Hollis");
        wechat.setDesc("每日更新Java技術文章");
        System.out.println(wechat);
    }
}

@Data
class Wechat {
    private String id;
    private String desc;
}
複製程式碼

輸出結果:

Wechat(id=Hollis, desc=每日更新Java技術文章)
複製程式碼

我們在Wechat類上面新增了@Data註解,外掛就自動幫我們新增了getter/setter和toString方法。

String Manipulation

字串日常開發中經常用到的,但是不同的字串型別在不同的地方可能有一些不同的規則,比如類名要用駝峰形式、常量需要全部大寫等,有時候還需要進行編碼解碼等。這裡推薦一款強大的字串轉換工具——String Manipulation。

它強大到什麼程度,看下他的功能列表你就知道了:

IntelliJ IDEA 18 週歲,吐血推進珍藏已久的必裝外掛

  • 文字轉換操作
    • 切換樣式(camelCase, hyphen-lowercase, HYPHEN-UPPERCASE, snake_case, SCREAMING_SNAKE_CASE, dot.case, words lowercase, Words Capitalized, PascalCase)
    • 轉換為SCREAMING_SNAKE_CASE (或轉換為camelCase)
    • 轉換為 snake_case (或轉換為camelCase)
    • 轉換為dot.case (或轉換為camelCase)
    • 轉換為hyphen-case (或轉換為camelCase)
    • 轉換為hyphen-case (或轉換為snake_case)
    • 轉換為camelCase (或轉換為Words)
    • 轉換為camelCase (或轉換為lowercase words)
    • 轉換為PascalCase (或轉換為camelCase)
    • 選定文字大寫
    • 樣式反轉
  • Un/Escape
    • Un/Escape 選中的 java 文字
    • Un/Escape 選中的 javascript 文字
    • Un/Escape 選中的 HTML 文字
    • Un/Escape 選中的 XML 文字
    • Un/Escape 選中的 SQL 文字
    • Un/Escape 選中的 PHP 文字
    • 將 diacritics(accents) 轉換為 ASCII
    • 將非ASCII 轉換為轉義的Unicode
    • 將轉義的Unicode轉換為字串
  • Encode/Decode
    • Encode 選中的文字為 MD5 Hex16
    • De/Encode 選中的文字為 URL
    • De/Encode 選中的文字為 Base64
  • 遞增/遞減
    • 遞增/遞減所有找到的數字
    • 複製行並且遞增/遞減所有找到的數字
    • 建立序列:保持第一個數字,遞增替換所有其他數字
    • 遞增重複的數字
  • 按自然順序排序
    • 按行倒序
    • 按行隨機排序
    • 區分大小寫A-z排序
    • 區分大小寫z-A排序
    • 不區分大小寫A-Z排序
    • 不區分大小寫Z-A排序
    • 按行長度排序
    • 通過子選擇行排序:每行僅處理一個選擇/插入符號
  • 對齊
    • 通過選定的分隔將選定的文字格式化為列/表格
    • 將文字對齊為左/中/右
  • 過濾/刪除/移除
    • grep選定的文字,所有行不匹配輸入文字將被刪除。 (不能在列模式下工作)
    • 移除選定的文字
    • 移除選定文字中的所有空格
    • 刪除選定文字中的所有空格
    • 刪除重複的行
    • 只保留重複的行
    • 刪除空行
    • 刪除所有換行符
  • 其他
    • 交換字元/選擇/線/標記
    • 切換檔案路徑分隔符:Windows < - > UNIX

安裝好外掛後,選中需要處理的內容後,按快捷鍵Alt+m,即可彈出工具功能列表。

很好很強大的一款字串處理工具。

.ignore

目前很多開發都在使用git做版本控制工具,但是有些時候有些程式碼我們是不想提到到我們的程式碼倉庫中的,比如ide自動生成的一些配置檔案,或者是我們打包生成的一些jar檔案等,這時候就需要編寫一個.ignore檔案,來排除那些不想被版本管理的檔案。

這裡推薦一個好用的外掛.ignore,他可以幫我們方便的生成各種ignore檔案。

安裝外掛後,選中專案,右鍵新建的時候,會多出一個.ignore檔案的選項,可以通過這個選項建立ignore檔案。

IntelliJ IDEA 18 週歲,吐血推進珍藏已久的必裝外掛

在彈出的對話方塊中,可以自動幫我們生成一份.ignore檔案,這裡我們讓其幫忙自動排除所有和idea有關的檔案。

IntelliJ IDEA 18 週歲,吐血推進珍藏已久的必裝外掛

Mybatis plugin

目前ORM框架中,Mybatis非常受歡迎。但是,同時給很多開發帶來困擾的就是Mybatis需要很多xml的配置檔案,有的時候很難去進行修改。

這裡推薦一款神器,可以讓你像編輯java程式碼一樣編輯mybatis的檔案。

Intellij Idea Mybatis外掛主要功能:

  • 提供Mapper介面與配置檔案中對應SQL的導航
  • 編輯XML檔案時自動補全
  • 根據Mapper介面, 使用快捷鍵生成xml檔案及SQL標籤
  • ResultMap中的property支援自動補全,支援級聯(屬性A.屬性B.屬性C)
  • 快捷鍵生成@Param註解
  • XML中編輯SQL時, 括號自動補全
  • XML中編輯SQL時, 支援引數自動補全(基於@Param註解識別引數)
  • 自動檢查Mapper XML檔案中ID衝突
  • 自動檢查Mapper XML檔案中錯誤的屬性值
  • 支援Find Usage
  • 支援重構從命名
  • 支援別名
  • 自動生成ResultMap屬性

IntelliJ IDEA 18 週歲,吐血推進珍藏已久的必裝外掛

IntelliJ IDEA 18 週歲,吐血推進珍藏已久的必裝外掛
 (圖源:www.oschina.net/p/intellij-…

但是這款外掛是收費的,但是不影響他確實是一個很實用,可以很大程度上提升開發效率的外掛。讀者可以考慮使用Free Mybatis plugin(這款外掛我沒用過,具體是否好用有待考證)。

Key promoter X

對於很多剛剛開始使用IDEA的開發者來說,最苦惱的就是不知道快捷鍵操作是什麼。

使用IDEA,如果所有操作都使用滑鼠,那麼說明你還不是一個合格的程式設計師。

這裡推薦一款可以進行快捷鍵提示的外掛Key promoter X。

Key Promoter X 是一個提示外掛,當你在IDEA裡面使用滑鼠的時候,如果這個滑鼠操作是能夠用快捷鍵替代的,那麼Key Promoter X會彈出一個提示框,告知你這個滑鼠操作可以用什麼快捷鍵替代。

當我使用滑鼠檢視一個方法都被哪些類使用的時候,就會提示:

IntelliJ IDEA 18 週歲,吐血推進珍藏已久的必裝外掛

記住這個快捷鍵以後,就可以使用快捷鍵代替滑鼠啦。

AceJump

前面介紹了一款可以通過使用快捷鍵來代替滑鼠操作的外掛,這裡再介紹一款可以徹底擺脫滑鼠的外掛,即AceJump

AceJump允許您快速將游標導航到編輯器中可見的任何位置,只需點選“ctrl +;”,然後輸入一個你想要跳轉到的字元,之後鍵入匹配的字元就跳轉到你想要挑戰的地方了。

IntelliJ IDEA 18 週歲,吐血推進珍藏已久的必裝外掛

如以上程式碼,我想在這個類中,跳轉到println那個位置,只需要按下快捷鍵:“ctrl +;”,然後輸入println,即可定位到目標位置。

上圖中,我輸入了pri三個字母后,頁面提示三個可選項,分別用字母G、H、D標註,這時候只需要按下對應字母,即可快速定位到指定位置,是不是很方便。

activate-power-mode

最後,介紹一款程式設計師很好的在妹子面前裝X的外掛——activate-power-mode 。

安裝了這款外掛之後,你寫程式碼的時候,就會附加一些狂拽炫酷屌炸天的效果:

IntelliJ IDEA 18 週歲,吐血推進珍藏已久的必裝外掛

總結

本文一共介紹了11款可以提升程式設計師開發效率、提升程式碼質量、提升編碼心情的軟體。歡迎大家安裝嘗試一下。

IntelliJ IDEA 18 週歲,吐血推進珍藏已久的必裝外掛

相關文章