IntelliJ IDEA 2021.1 新特性
- 前言
- 新的改變
- Run Targets(運行目標)
- Analyze Code Bofore Commit(提交之前分析代碼)
- HTML內置預覽
- 支持JSONPath運算式
- part1-計算JSONPath運算式視窗
- part2-注入語言
- Java16的支持
- part1-Record類
- part2-instanceof新語法支持
- part3-Stream語法簡化支持
- part4-Sealed類(還在Preview Feature版本中)
- 其他Java支持
- Kotlin支持
- 改進了對WSL2的支持
- 改進了Profiler
- 可用性修復
- Space插件
- Code With Me插件
- 其他更新
- Recent Projects(快速訪問)
- Get files from another branch(從其他分支獲取檔案)
- 結尾
- 更新建議
- (2021.4.8)
- 參考文獻
前言
周末愉快好兄弟萌

北京時間2021年4月7日,IntelliJ Idea 2021.1新版本正式上線,跟去年第一版上線時間差不多
又到了開心的寫IDEA博客時間
這里有一段小插曲給大家嘮嗑一下
春節在家,2月13日那天,心想著要更新Idea博客了嘛,我就去Youtube上搜了一下關鍵字Idea2021,結果彈出來這么一個視頻
Working with Gradle in IntelliJ IDEA(2021)

當時沒注意看標題就點進去了
看了一遍我就傻了,為什么“新特性”全是跟gradle有關的啊
廢話,你點的就是gradle相關的好嘛
平時作業和學習都用的maven,疏于對gradle了解的我,那天的就沒提起興趣繼續往下寫
暫告一段落
這不這周二不是BetterIntelliJ這個插件用不了了嘛,突然無法“科學編碼”了
我就IDEA官方看了一下,誒,新版本視頻怎么跟我當時看的不一樣呢

后知后覺的我才意識到當時可能開錯視頻了,我yue了
不過正好,離新版本2021.1正式版上線也差不了幾天,現在寫博客不算晚
言歸正傳
今天我就照舊根據視頻中Trisha Gee的解說思路,給小伙伴們總結和翻譯一下2021.1新特性,開始開始~
先給大家看一下官網首頁的介紹
IntelliJ IDEA 2021.1 introduces Java 16 and WSL 2 support, Space integration, Code With Me, a HTML preview window inside the IDE, the option to run code on SSH hosts and in Docker containers, and other useful updates. You can watch this video overview or read on to learn about the most significant changes in more detail!
照例翻譯一下:
1.IDEA 2021.1 引入了對Java16和WSL2的支持
2.引入了對Space社區的集成,內置Code with me (協助開發) 插件和HTML檔案預覽等
3.新增了將代碼運行在SSH和Docker容器中的選項
4.其他有用的更新
5.你可以觀看這個視頻概覽或者繼續閱讀來詳細了解更重要的一些更新
這兩天抽空看了幾遍并上手試了一下,視頻中Trisha Gee說的跟這些差不多
我個人感覺這個版本的更新不是特別大
沒有去年最后一個版本給我的那種“哇,更新好多東西”的趕腳
今年第一個版本更多的是一種補充和錦上添花
新的改變
Run Targets(運行目標)
一般來說我們在專案中一個程式,都是運用IDE上的所有設定去在本地環境啟動它
現在我們可以指定程式運行的目標
通俗來說就是你可以把你的程式運行在本地之外的外部環境
比如docker容器,WSL系統或者SSH服務器上
以docker為例
我們可以點擊小錘子右邊的
- edit configurations
- manage targets 管理目標
- 然后選擇docker為目標
- 拉取jdk16的鏡像
- 設定完成之后運行,就可以跑了
此處涉及到docker知識,而且操作是純配置,開發同學如果嫌煩可以不看
(其實是因為我截圖太累了,此處放上一個官網的動圖)

這個東西還是挺有用的,場景比方說當你想更換某些環境配置的時候,就可以使用這個功能去測驗
Analyze Code Bofore Commit(提交之前分析代碼)
這個功能小伙伴們不會陌生
注意到箭頭的小齒輪了嗎
這里就是設定提交選項的

Analyze Code現在可以選擇自己的組態檔了
其實這個功能一直都有,但是2021.1版本支持配置
我們可以自定義怎么去分析code了
之前的IDEA這個選項叫做perform analyze code
現在更名為 Analyze code ,并支持配置
我覺得默認配置就夠用了

這個地方我猜還是有很多小伙伴沒用過
主要作用就是就是在提交之前,IDE會幫你分析一下代碼,檢查一下哪里有問題
如果我們不把這個勾選上,可能會提交一些無法編譯,或者包含嚴重錯誤的代碼
說到這個,我很有發言權,因為就上個月,我的同事就在其分支上提交了不能編譯通過的代碼,因為他修改了目錄結構,但是沒有編譯就提交了,
導致我那天合并完分支,總是報錯,都是類路徑問題,我還以為我哪里合并出錯了,頭非常大,處理了好久,這邊建議小伙伴們上手IDEA2021.1版本的時候,盡量打開這個設定
這時候,可能有部分小伙伴會問了,欸,那其他選項都是干嘛的呀
以前的博客我沒寫過這個,這里就全部介紹一下
小齒輪點開以后出現的多選框
- Author:作者,沒啥好說的
- Reformat code::根據專案代碼樣式設定執行代碼格式化
- Rearrange code:根據排列規則首選項重新排列代碼
- Optimize imports:洗掉多余的匯入陳述句
- Analyze code:在提交修改的檔案之前,先對其進行分析,單擊配置以選擇檢查組態檔,IDE將從該組態檔運行檢查
- Check TODO:查看與指定過濾器匹配的TODO專案,自己寫的TODO,含淚都要寫完哦
- Cleanup:
自動將當前檢查組態檔應用到要提交/擱置的檔案我不常用 - Update copyright:
根據所選的著作權資料-范圍組合添加或更新著作權宣告我不常用
HTML內置預覽
Trisha說:Java開發程式員有可能不止和一種語言打交道,比如HTML
現在2021.1現在內置了HTML的預覽功能
用法就是在HTML右上角的地方點擊IDEA的標志
Built-in Preview
就可以在右側看到預覽的樣子啦

有一說一現在的公司應該都前后端分離了吧
我能想到的應用場景比較少,這個功能聊勝于無,別吃我記憶體就行
支持JSONPath運算式
JSONPath好東西,終于支持了
part1-計算JSONPath運算式視窗
打開一個json檔案
點擊IDEA選項卡的edit-》find-》Evaluate JSONPath Expression
然后就可以用運算式去更直觀的查看資料啦

JSONPath的語法還是比較簡單的,有興趣的小伙伴可以去看看,提高生產力的好東西
part2-注入語言
當我們在代碼中有JSONPath運算式的String字串的時候

我們可以在字串的地方點擊alt+Enter
點擊 Inject language or reference
輸入或者找到JSONPath,就可以把字串變成JSONPath運算式的形式,這樣編輯就會出現代碼提示啦
將string轉換成JSONPath運算式,就像下面動圖的操作一樣

或者我們可以在字串的地方點擊alt+Enter
點擊第一個選項Evaluate JSONPath expression來計算JSONPath運算式
就會在桌面的最右邊彈出和Part1一樣的效果,來更直觀的觀察json內部的資料

Java16的支持
java14,15的新特性中有很多預覽功能(Preview Feature)
比如:Instanceof ,stream流新特性,Record類等
現在成為Java16的標準功能(Standard Feature)
IntelliJ IDEA現在支持對Java16這些特性的代碼提示和相關操作
part1-Record類
我可以在2021.1版本IDEA中利用編輯器提示,將Record類和普通類進行轉化,動圖演示

小貼士:
什么是Record?
Record 是Java新增的庫類,在Java 14和Java 15中以預覽(preview)形式公布,Record類用來自動生成對定義資料進行創建、設定、訪問以及比較等代碼,所以又被稱作資料類(data class),在一些編程語言中,例如Kotlin,已經使用資料類來處理資料模式建立(Object Relational Mapping-ORM)以及傳輸(Data Transfer Objects-DTOs)等處理,Record類似于Java 的列舉類(Enum),用來簡化、定義和處理資料,傳統的列舉類的編程方式和自動生成代碼的Record類,這兩者使得Java編程在保持簡單性和靈活性中相互平衡和補充,
part2-instanceof新語法支持

現在IDEA會提示將第一種寫法轉化為下面新語法
part3-Stream語法簡化支持
當我們對Stream流的操作結束后,收集結果不用再寫.collect(Collectors.toList())
直接寫toList()就可以
ArrayList<Object> list = new ArrayList<>();
// 原來的寫法
list.stream().map(Object::getClass).collect(Collectors.toList());
// 現在的寫法
list.stream().map(Object::getClass).toList();
這個其實是Java16的寫法
IDEA現在可以自動將上面的寫法轉換成最新的語法糖
這只是對Java語法支持的小部分展示,還有很多,等著小伙伴們一起探索
part4-Sealed類(還在Preview Feature版本中)
Sealed類(密封類)是一種控制類的繼承層次結構的類
現在IDEA會支持對這個類的代碼提示
其實很好理解,JDK支持了,你編輯器不支持,不就相當于在寫txt嘛
小貼士:想嘗試這個Sealed類的小伙伴,需要把編輯器的語言等級調整到
16(Preview)版本-Sealed types

同時你的pom檔案需要加上這個maven 插件,指定版本和開啟–enable-preview
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<release>16</release>
<compilerArgs>
<compilerArg>--enable-preview</compilerArg>
</compilerArgs>
</configuration>
</plugin>
pom中不加這個插件的話會報錯的哦

其他Java支持
Kotlin支持
我對Kotlin知道的不多,就直接把文字貼上來~
- 更快地高亮顯示代碼問題
- 改進的代碼補全
- 更好的代碼覆寫率
IntelliJ IDEA 的 code coverage 運行程式現在完全支持 Kotlin 的行內函式和協同程式 - UI重新設計等
改進了對WSL2的支持
WSL2,,全稱Windows subsystem for linux
翻譯過來就是 適用于Linux的Windows子系統
改進了Profiler
CPU和記憶體的分析工具
官方介紹
CPU-Profiler
2020.3版本和2021.1版本都新增了這個底部導航欄
后者改進了Profiler的使用體驗

點開之后會進入這樣一個頁面

右鍵一個你想看的行程彈出三個選項,分別是
- 新增分析器
- 捕捉記憶體快照
- Cpu和記憶體實時圖示
比如我們點擊第三個選項,就會出現這樣的圖示,讓我們來實時監控本機資源使用情況

上手很簡單,但是實用性如何,我日后在作業中會慢慢去探索并反饋
可用性修復
修復一些IDEA自己的bug,做了一些UI改變
Space插件
Space是一個JetBrains團隊出品的新的協作工具,這個插件現在內置在IDEA2021.1中
現在可以開箱即用
你可以通過歡迎螢屏上的 Get from VCS 連接到 JetBrains Space 中的組織
登錄后,你可以查看和克隆專案存盤庫,檢查隊友的代碼以及撰寫 Space Automation 腳本
簡單來說就是內置了一個代碼管理的插件,這個代碼管理是JetBrain官方出品的
或者可以點擊IDEA右上角的位置,從這個圖示計入space探索

當然Space的功能不止代碼管理
插件的演示較長,這里就略過了~
奉上IDEA官方介紹視頻鏈接Space
Code With Me插件
我在上一個博客2020.3新特性中介紹過這個插件雖然說的不多
本身也是一個協作插件,它還具有視頻和語音通話功能,現在還能打字聊天
現在這個插件內置在IDEA2021.1中
去年的疫情,大家都開始遠程辦公了,這個插件從推出到內置
一直是最近幾個版本更新的亮點之一
在編譯錘子旁邊有個人形圖示,從這里進入開始使用

其他更新
以上都是Trisha Gee在視頻中為我們所展示的新特性,不過在官網中,還有一些小東西我需要跟大家繼續分享一下一些實用的小東西
Recent Projects(快速訪問)
這個更新只有windows用戶才有

現在可以在Windows上快速訪問最近的專案
Get files from another branch(從其他分支獲取檔案)
這個也是我看下來比較不錯的功能
當我們和同時協作開發的時候
經常會用到這個功能,就是和其他分支比較作業樹的區別

點擊Show Diff whti Working Tree,

右鍵你想要的檔案,點擊Get from Branch
就可以從其他分支獲取這個檔案
非常的有意思
跟上個版本新增的git stage一樣屬于非常實用的功能,有興趣的小伙伴可以閱讀我上一個博客
IntelliJ IDEA 2020.3 新特性
結尾
以上就是我通過IntelliJ IDEA官方視頻和檔案總結的在開發程序中比較常用的一些新特性
喜歡的小伙伴們請點贊,評論收藏支持一下,謝謝啦~~
文章整理不易,轉載請注明出處,CSDN超人2028
文章中有任何不對的地方,望不吝賜教~
更新建議
(2021.4.8)
短暫實用了3天,暫時沒有發現一些明顯的bug,有顧慮的小伙伴可以不升級,而是單獨下載一個最新的去嘗試一下
參考文獻
- IDEA官網:https://www.jetbrains.com/idea/whatsnew/
- IDEA-help官網:https://www.jetbrains.com/help/idea/file-and-project-analysis.html
- IDEA官方2021.1新特性視頻:@Trisha Gee https://www.youtube.com/watch?v=YBmR0J3-r3o&ab_channel=IntelliJIDEAbyJetBrains
- 我的上一篇博客:Show me the code系列之IntelliJ IDEA 2020.3 新特性
- 維基百科-WSL: https://zh.wikipedia.org/wiki/%E9%80%82%E7%94%A8%E4%BA%8ELinux%E7%9A%84Windows%E5%AD%90%E7%B3%BB%E7%BB%9F
- 搜狐號博客-Record類:https://www.sohu.com/a/444165547_453160#:~:text=Record%20%E6%98%AFJava%E6%96%B0%E5%A2%9E%E7%9A%84%E5%BA%93%E7%B1%BB%EF%BC%8C%E5%9C%A8Java,14%E5%92%8CJava%2015%E4%B8%AD%E4%BB%A5%E9%A2%84%E8%A7%88%EF%BC%88preview%EF%BC%89%E5%BD%A2%E5%BC%8F%E5%85%AC%E5%B8%83%E3%80%82R
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/278122.html
標籤:其他
