一、前言
IntelliJ IDEA
如果說IntelliJ IDEA是一款現代化智能開發工具的話,Eclipse則稱得上是石器時代的東西了。
其實筆者也是一枚從Eclipse轉IDEA的探索者,隨着近期的不斷開發實踐和調試,逐步體會到這款智能IDE帶來的巨大開發便利,在強大的插件功能支持下,諸如對Git和Maven的支持簡直讓人停不下來,各種代碼提示,包括JS更是手到擒來,最終不得不被這款神奇的IDE所折服。為了讓身邊更多的小伙伴參與進來,決定寫下這篇文章。

二、IDEA VS Eclipse 核心術語比較
由下圖可見:兩者最大的轉變就在於工作空間概念的轉變,並且在IDEA當中,Project和 Module是作為兩個不同的概念,對項目結構是具有重大意義的,這也恰恰是許多IDEA初學者覺得困擾的地方。

1 為什么要取消工作空間?
答:簡單來說,IDEA不需要設置工作空間,因為每一個Project都具備一個工作空間!!對於每一個IDEA的項目工程(Project)而言,它的每一個子模塊(Module)都可以使用獨立的JDK和MAVEN配置。這對於傳統項目邁向新項目的重構添加了極大的便利性,這種多元化的靈活性正是Eclipse所缺失的,因為開始Eclipse在初次使用時已經綁死了工作空間。
2 此外,很多新手都會問,為什么IDEA里面的子工程要稱為Module ?
答:其實就是模塊化的概念,作為聚合工程亦或普通的根目錄,它稱之為Project,而下面的子工程稱為模塊,每一個子模塊之間可以相關聯,也可以沒有任何關聯。
三、IDEA的插件介紹
1.插件的安裝
打開setting文件選擇Plugins選項
-
Ctrl + Alt + S
-
File -> Setting

分別是安裝JetBrains插件,第三方插件,本地已下載的插件包。詳情見往期關於settings的文章。
2.各種插件
#1. activate-power-mode 和 Power mode II
根據Atom的插件activate-power-mode的效果移植到IDEA上

寫代碼是整個屏幕都在抖動,activate-power-mode是白的的,Power mode II色彩更酷炫點。
#2.Background Image Plus
idea背景修改插件,讓你的idea與眾不同,可以設置自己喜歡的圖片作為code背景。

安裝成功之后重啟,菜單欄的VIew標簽>點擊Set Background Image(沒安裝插件是沒有這個標簽的),在彈框中路由選擇到本地圖片,點擊OK即可。
#3.Grep console
自定義日志顏色,idea控制台可以彩色顯示各種級別的log,安裝完成后,在console中右鍵就能打開。

並且可以設置不同的日志級別的顯示樣式。

可以直接根據關鍵字搜索你想要的,搜索條件是支持正則表達式的。
#4.Free Mybatis plugin
mybatis 插件,讓你的mybatis.xml像java代碼一樣編輯。我們開發中使用mybatis時時長需要通過mapper接口查找對應的xml中的sql語句,該插件方便了我們的操作。
安裝完成重啟IDEA之后,我們會看到code左側或多出一列綠色的箭頭,點擊箭頭我們就可以直接定位到xml相應文件的位置。
mapper

xml

#5.MyBatis Log Plugin
Mybatis現在是java中操作數據庫的首選,在開發的時候,我們都會把Mybatis的腳本直接輸出在console中,但是默認的情況下,輸出的腳本不是一個可以直接執行的。

如果我們想直接執行,還需要在手動轉化一下。
MyBatis Log Plugin 這款插件是直接將Mybatis執行的sql腳本顯示出來,無需處理,可以直接復制出來執行的,如圖:

執行程序后,我們可以很清晰的看到我們執行了哪些sql腳本,而且腳本可以執行拿出來運行。
#6.String Manipulation
強大的字符串轉換工具。使用快捷鍵,Alt+m。

-
切換樣式(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)
-
選定文本大寫
-
樣式反轉
#7.Alibaba Java Coding Guidelines
阿里巴巴代碼規范檢查插件,當然規范可以參考《阿里巴巴Java開發手冊》。

#8.Lombok
Java語言,每次寫實體類的時候都需要寫一大堆的setter,getter,如果bean中的屬性一旦有修改、刪除或增加時,需要重新生成或刪除get/set等方法,給代碼維護增加負擔,這也是Java被詬病的一種原因。Lombok則為我們解決了這些問題,使用了lombok的注解(@Setter,@Getter,@ToString,@@RequiredArgsConstructor,@EqualsAndHashCode或@Data)之后,就不需要編寫或生成get/set等方法,很大程度上減少了代碼量,而且減少了代碼維護的負擔。
安裝完成之后,在應用Lombok的時候注意別忘了需要添加依,maven為例:

#9.Key promoter
Key promoter 是IntelliJ IDEA的快捷鍵提示插件,會統計你鼠標點擊某個功能的次數,提示你應該用什么快捷鍵,幫助記憶快捷鍵,等熟悉了之后可以關閉掉這個插件。
#10.Gsonformat
可根據json數據快速生成java實體類。
自定義個javaBean(無任何內容,就一個空的類),復制你要解析的Json,然后alt+insert彈出如下界面或者使用快捷鍵 Alt+S,在里面粘貼剛剛復制的Json,點擊OK即可。

#11.Restfultoolkit
Spring MVC網頁開發的時候,我們都是通過requestmapping的方式來定義頁面的URL地址的,為了找到這個地址我們一般都是cmd+shift+F的方式進行查找,大家都知道,我們URL的命名一個是類requestmapping+方法requestmapping,查找的時候還是有那么一點不方便的,restfultookit就能很方便的幫忙進行查找。
例如:我要找到/user/add 對應的controller,那么只要Ctrl+斜杠 ,(圖片來自於網絡)

就能直接定位到我們想要的controller。這個也是真心方便,當然restfultookit還為我們提供的其他的功能。根據我們的controller幫我們生成默認的測試數據,還能直接調用測試,這個可以是解決了我們每次postman調試數據時,自己傻傻的組裝數據的的操作,這個更加清晰,比在console找數據包要方便多了。(圖片來自於網絡)

#12.JRebel
JRebel是一種熱部署生產力工具,修改代碼后不用重新啟動程序,所有的更改便可以生效。它跳過了Java開發中常見的重建、重新啟動和重新部署周期。