肝了兩天IntelliJ IDEA 2020,解鎖11種新姿勢, 真香!!!
IDEA2020版本正式釋出已經有3個月了,當時由於各方面原因(太懶)也沒有去嘗試新功能。於是這個週末特意去在另一個電腦上下載了最新版的IDEA,並嘗試了一下。總的來說呢,體驗上明顯的提升。
作為一個大版本的升級,自然也增加了許多新功能。個人體驗了兩天,
支援Java14,並且可以直接通過IDE去直接下載JDK完成安裝配置
釋出官方版漢化外掛
導航欄優化可直接跳轉至方法或物件所在位置
新增Mono字型(人稱最適合程式設計師的字型)
LightEdit模式
終端的視窗拆分(水平/垂直拆分)
Zon(禪)模式
javadoc檔案的渲染a
新增新的主題
更加智慧的錯誤檢測
Debug增強預處理
啟用方法:
支援Java14
支援Records
用於獲取宣告資料類的方法,只通過一行程式碼就可以獲取到資料。
public class Range {
private final int min;
private final int max;
public Range(int min, int max) {
this.min = min;
this.max = max;
}
public int getMin() {
return min;
}
public int getMax() {
return max;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Range range = (Range) o;
return min == range.min && max == range.max;
}
@Override
public int hashCode() {
return Objects.hash(min, max);
}
@Override
public String toString() {
return "Range{" +
"min=" + min +
", max=" + max +
'}';
}
}
如上資料類,無參構造方法;初始化時對成員變數賦值;成員變數只有getter方法;覆寫了 超類 Object 的 equals 、hashCode、toString 方法。
使用Records只需要一樣程式碼即可以實現上述功能
public record Range(int min, int max) {}
如果你的IDEA沒有配置JDK,可以直接在IDEA內部進行JDK下載安裝配置。
instanceof模式簡化
我們經常會使用instanceof運運算元將引用變數與型別進行比較的程式碼。如果結果為true ,那麼就可以將其顯式轉換為與之比較的型別。
if (obj instanceof String) {
String s = (String) obj;
System.out.println(s);
}
Java 14中的instanceof模式匹配引入了instanceof運運算元的模式變數。如果instanceof條件為true,則模式變數將繫結到要比較的變數,從而避免了顯式強制轉換以使用其成員的需要。
於是我們可以改成這種寫法
if (obj instanceof String s) {
System.out.println(s);
}
官方版漢化外掛
官方這次更新之後支援了漢化版,漢化需要藉助JetBrains官方提供的Chinese (Simplified) Language Pack EAP外掛。可通過安裝外掛進行漢化
安裝方法:
在Plugins 搜尋“Chinese”第一個就是我們漢化時需要安裝的外掛。
我在另外一臺電腦試著安裝時,發現搜尋不到這個外掛。如果有同學遇到同樣的問題,可以去IDEA外掛中心進行搜尋安裝
地址:https://plugins.jetbrains.com/idea
按照提示操作,下載相應的版本,然後進行安裝即可,安裝方式有兩種
直接將外掛拖入至IDEA介面即可
在plugins介面通過匯入本地檔案進行安裝
漢化之後的介面如下圖所示,目前來看大部分內容已經漢化,還剩一點點選單內容沒有完成漢化。使用漢化之後突然竟然感覺不太會用了,我個人不建議使用漢化的。
導航欄優化
在IDEA2020之後的版本可以通過點選.java檔案導航到具體的方法或者物件所在的位置。再此之前的版本可以通過Structure介面進行位置跳轉
新增Mono字型
一款被稱為目前最適合程式設計師的字型,新的版本下載之後自帶了Mono字型。
長時間使用程式碼期間減輕眼睛疲勞的問題。同時考慮了字母的大小和形狀等問題;它們之間的空間量,自然以等寬字型設計的平衡;一些看起來不必要的細節和符號之間不清楚的區別,例如I和l。
對於舊版本IDEA,如果想自行安裝Mono字型,可以通過官網自行下載安裝
地址:https://www.jetbrains.com/lp/mono/
LightEdit模式
可以理解為是一個輕量級的編輯器,可以在不載入專案的情況下,開啟某個檔案。
這樣我們就可以用IDEA以編輯器的形式去開啟Java檔案,
如果需要開啟並載入檔案所在專案,只需要alt+enter之後選擇Open file in project 即可。
終端的視窗拆分
這個更新,感覺真的提升了不少效率,多個終端在同一介面節省了來回切換的麻煩。
使用時是這樣的,有沒有感覺效率提升了不少呢?
Zon(禪)模式
一個可以讓程式設計師全身心投入到寫程式碼,不受外界幹擾的一種模式。
啟用方式如下圖所示:
Enter/Exit Presentation Mode:進入/退出 展示模式
Enter/Exit Distraction Free Mode:進入/退出 免打擾模式
Enter/Exit Full Screen:進入/退出 全屏模式
Enter/Exit Zen Mode:進入/退出 禪模式(一個終極模式,包含以上3種模式)
下圖為禪模式,整個螢幕就是你的編輯頁面,帶上耳機開啟禪模式,真的會有一種瞬間全世界都清淨的感覺!
javadoc檔案的渲染
當我們去閱讀原始碼的註釋或者一些幫助檔案API,可能含有各種標記,影響閱讀,而通過javadoc渲染功能之後,會自動祛除一些不必要的標題。並且可以修改字型的大小,方便閱讀!
如下是SimpleDateFormat中javadoc的一部分,是不是給人一種無法讀下去的感受。
用了JavaDoc之後呢,它就是這樣的了
新增新的主題
在view中點選Quick Switch Scheme,然後在彈出的對話方塊中點選Themes,可以更換IDEA的主題。
新增了統一的IntelliJ Light主題,這個主題已經在不同的作業系統中完全統一了。不過就我個人而言,還是更新換用Darcula黑灰色主題風格。
錯誤檢測
比如我們在寫日期轉化的時候不小心寫錯了,如下:
public static void main(String[] args){
SimpleDateFormat sdf =
new SimpleDateFormat("YYYY-MM-dd");
System.out.println("this is a boy");
}
這裡呢,IDEA就會在YYYY字元上進行高亮顯示,滑鼠放上去就會提示我們,點選下方的Replace ‘YYYY’ with ‘yyyy’ 會自動幫我們進行替換。
Debug增強預處理
如下程式碼
public static void main(String[] args) {
int a = 0;
while (a < 100) {
if (a == 3) {
System.out.println("+++++");
}
a++;
}
}
在第5行加了斷點,當我們debug啟動時,第6行就會進行與判斷False。
執行到a = 3時,會與判斷為True。
總結
以上就是我這兩天體驗了一下IDEA2020版本之後的測評清單,還有很多功能需要在平時的使用中進行挖掘。如果大家有什麼新功能要分享歡迎留言區進行留言。最後呢,建議大家最好不要使用公司的電腦進行升級,以免引起不必要的麻煩耽誤了正常工作。
最後呢,我錄製了一個視訊上傳至B站了,大家可以去看一下。順便記得點贊哦
https://www.bilibili.com/video/BV1ua4y1a7d7/