IntelliJ IDEA 18 週歲,吐血推薦珍藏已久的必裝插件

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

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

IDEA插件簡介

常見的IDEA插件主要有如下幾類:

常用工具支持

Java日常開發需要接觸到很多常用的工具,爲了便於使用,很多工具也有IDEA插件供開發使用,其中大部分已經在IDEA中默認集成了。例如maven、git、svn、tomcat、jetty、jrebel、Gradle等。

功能增強

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

框架集成

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

UI定製化及優化

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

其他編程語言支持

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

個人或者公司特殊需求

公司內部插件

我的插件一覽

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

IDEA插件安裝

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

Preferences—>Plugins—>查找所需插件—>Install

或者

Preferences—>Plugins—>Install plug from disk —>選擇下載好的插件安裝

安裝之後重啓IDEA即可生效

IDEA插件倉庫

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

基本功能

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

很多插件中提供的功能在這個版本中都已經集成進來了,這裏簡單說幾個可能比較常用的,這幾種功能就無需加裝插件了。

背景圖片

目前,IDEA支持設置背景圖片。這對於廣大程序員來說無疑是個好功能。整日對着枯燥的代碼實在是會讓人疲乏。要是可以設置一張美女圖片的話。。。

設置方法

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

在裏面設定要設置爲Image的圖片,透明度調到15左右,保存即可。

效果如下

內置terminal

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

內置support

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

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

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

必備插件

Maven Helper

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

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

一旦安裝了Maven Helper插件,只要打開pom文件,就可以打開該pom文件的Dependency Analyzer視圖(在文件打開之後,文件下面會多出這樣一個tab)。

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

FindBugs-IDEA

FindBugs很多人都並不陌生,Eclipse中有插件可以幫助查找代碼中隱藏的bug,IDEA中也有這款插件。

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

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

 按照提示解決完問題之後再執行findbug查看情況即可。

阿里巴巴代碼規約檢測

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

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

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

並且,該插件支持在編寫代碼的同時進行提示,

這款插件,真的可以很大程度上提升代碼質量,一定要安裝。

GsonFormat

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

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。

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

  • 文本轉換操作
    • 切換樣式(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文件。

在彈出的對話框中,可以自動幫我們生成一份.ignore文件,這裏我們讓其幫忙自動排除所有和idea有關的文件。

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屬性

(圖源:https://www.oschina.net/p/intellij-mybatis-plugin)

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

Key promoter X

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

使用IDEA,如果所有操作都使用鼠標,那麼說明你還不是一個合格的程序員。

這裏推薦一款可以進行快捷鍵提示的插件Key promoter X。

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

當我使用鼠標查看一個方法都被哪些類使用的時候,就會提示:

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

AceJump

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

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

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

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

activate-power-mode

最後,介紹一款程序員很好的在妹子面前裝X的插件——activate-power-mode 。

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

總結

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

原文地址:https://www.hollischuang.com/archives/3220

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