一直猶豫這一篇要不要寫,因為我覺得IDE工具的選擇應該是極自由的事,蘿蔔白菜,各有所愛。說多了可能就會帶上個人的主觀偏見,所以,本文將採用功能列舉的方式,把我使用IDEA中覺得比較好玩好用的地方進行展示和說明。
個人之前也是使用過Eclipse和MyEclipse,後面聽朋友介紹IDEA,就花了一個週末的時間來適應IDEA,慢慢也就喜歡上IDEA了,再到後面,Eclipse就再沒開啟過。IDEA是我用過最好用的IDE。
IDEA是JetBrains公司開發的一款JVM語言的IDE工具,根據官網的描述,是最”智慧”的JVM語言開發工具。官網:www.jetbrains.com/idea/.
當時從Eclipse轉投IDEA的時候,難度最大的可能就是那些快捷鍵了,也是花了一兩週的時間才完全適應過來。本文並不是為了說服誰,權當是個人的一個歸納總結,有感興趣的朋友可以循著我列出的這些點去玩玩IDEA,說不定你也會喜歡TA。
1)IDEA的主題細膩,顏值高
最直觀的感受就是IDEA的黑色主題真的很漂亮,毫無違和感。直接上圖:
不僅如此,還支援更換背景圖,放個豪車做做背景更有動力了:
設定方式如下:
不僅如此,IDEA還有著豐富的主題庫。奉上地址:
但是IDEA有一點需要吐槽下:對中文字型的渲染比較差,在字型庫中找了很久才找到兩三種字型是可以接受的。如果各位有好看的字型,歡迎推薦,謝謝。
2)自帶反編譯器,可以方便的檢視原始碼
在呼叫JRE或第三方JAR包中的方法時,有時可能不能完全把握方法的使用。直接檢視原始碼,能讓我們更放心。同時,不需要引入資源包,這隻會額外增加負擔。
3)支援結構檢視
原生支援結構檢視,同時,不僅支援Java類,甚至支援html、js等的結構解析。
如上圖的Structure視窗。再放一張JS版的。
4)支援主流資料庫的連線及操作
IDEA直接整合了DataGrip,這是JetBrains公司一款資料庫客戶端軟體,支援市面上主流資料庫,就個人使用體驗來看,運算元據庫的效率和智慧化完勝navicat、sqlyog等客戶端。再也不用在各種工具中切換工作了。
5)Terminal控制檯,可以連線Linux伺服器
包含Terminal控制檯,可以方便執行git maven gradle等指令。
還可以連線遠端Linux伺服器,真正實現研發運維一體化工作。太棒了。
6)前後端程式碼一體化工作臺
IDEA不僅僅是智慧化的後臺程式碼IDE,也是一款優異的前端開發工具。本質上來說,IDEA整合了JetBrains另一款大名鼎鼎的IDE:WebStorm。安裝一些必要的外掛更是能讓前端開發事半功倍。
7)智慧化提醒無處不在
IDEA是一款智慧的軟體,對Spring Boot、Java、Html、JS等等都能做到最大化的智慧提示。極大提高了程式設計效率。智慧提醒還體現一點:程式碼檢查。
程式碼檢查能讓我們編寫出更加高效整潔更加可維護的程式碼,能在編碼過程中實時提示,不需要手動用Findbugs等工具去檢測,從側面也提升了效率。
比如:使用eclipse很容易寫出這種程式碼:
import com.google.common.base.Strings;
/**
* Created by Liwen.D on 2017-08-04.<br/>
* DESC: 測試空指標
*/
@SuppressWarnings({"unused"})
public class TestClass {
private static final String SEPARATOR = "&";
public static void main(String[] args) {
String result = concat(args[0], args[1]);
String upper = result.toUpperCase();
System.out.println("upper:: " + upper);
}
/**
* 字串連線
* @param param1
* @param param2
* @return
*/
private static String concat(String param1, String param2) {
if (Strings.isNullOrEmpty(param1) && Strings.isNullOrEmpty(param2)) return null;
else if (Strings.isNullOrEmpty(param1)) return param2;
else if (Strings.isNullOrEmpty(param2)) return param1;
return param1 + SEPARATOR + param2;
}
}複製程式碼
這段程式碼可能不太美觀,但卻能說明問題,我們來看下載IDEA中是怎麼顯示的,請看下圖:
可以看到有很多變黃的塊,那是提示處:
1處說明該呼叫可能存在NullPointerException,因為concat方法可能返回null,2處標誌需要填寫完整的方法說明。
類似此類的智慧警告不勝列舉,同時,IDEA還提供了自動修復的功能。
8)含有豐富的模板,還可以自定義模板
在設定介面,提供了Live Template模板設定功能,可以自定義模板,大大簡化重複程式碼的編寫量。
9)和多種框架進行了高效的融合
如:maven、gradle、spring、spring boot等,加快了專案的構建速度。同時,IDEA還支援其他JVM語言的開發,如Kotlin、Goovy、Scala等。
10) 豐富的外掛庫
IDEA擁有極其豐富的外掛庫,開啟設定介面中的Plugins介面,可以搜尋安裝各種外掛,有實用的,也有好玩的。
也推薦幾款外掛,可以去把玩把玩:
Translation:翻譯外掛,看不懂的英文再也難不倒我;
Maven Helper:解析maven pom結構,分析衝突;
Gitee:整合國內的程式碼託管網站碼雲;
LiveEdit:對前端更好的支援;
Rainbow Brackets:可以讓你的括號更有個性;
RestfulToolkit:可以根據url地址直接定位到介面方法,在微服務場景非常有用。
全文完!