[轉]IntelliJ IDEA 2020.1 正式發布,15 項重大特性、官方支持中文了!

?

format,png

頭圖&作者 |?YourBatman,CSDN博客專家

責編 | 唐小引

出品 | CSDN(ID:CSDNnews)

format,png

前言

千呼萬喚始出來!自從官方在 2020-01-20 發布了其 2020 年的 Roadmap 后,我便持續關注著、期待著 JetBrains IntelliJ IDEA 在“新 10 年”的首個版本的發布。這不,就在 4 月 9 日,發布了其“新 10 年”的首個版本 —— IntelliJ IDEA 2020.1。

按照國際慣例,作為大版本號的升級,一般都會“搞點事情”,而事實確實如此(包括了支持中文)。

說明:2020 是 JetBrains 公司成立 20 周年,小伙子是 20 歲的大男孩了。

format,png

What’s new(新特性)

IntelliJ IDEA 2020.1 添加了對 Java 14 的支持、為部分 Web 和測試框架添加新功能,通過數據流分析輔助升級了調試器,新增了 LightEdit 模式,以及支持從 IDE 直接下載和配置 JDK 等!

1、支持 Java 14

2020 年 3 月 17 日,Oracle 的 JDK/Java 14 正式 GA(General Available),這是自 Java 采用六個月一次的發布周期后的第五次發布。

“咱們”IDEA 順序跟上,提供了支持其新特性。除了針對 record 提供完整的代碼洞察支持,IDE 還允許用戶快速創建新 record,生成其構造函數與組件,以及對既有錯誤發出警報。另外,IDE 現已支持 instanceof 運算符的模式匹配,其中包括新的檢查以及快速修復,后者用簡潔明了的新模式變量快速簡化了冗長的 instanceof-and-cast 慣用代碼。

format,png

format,png

2、從 IDE 直接下載 JDK

當你還在吐槽現在 JDK 下載起來越來越麻煩的時候,IntelliJ IDEA 此舉會不會讓你感動到哭?

您無需再從網絡中搜索不可或缺的 JDK。從 IntelliJ IDEA 2020.1 開始,在創建并配置項目時,您可以直接從 IDE 下載并配置 JDK 構建。如果您打開下載的項目,IDE 將檢查計算機是否安裝了為此項目配置的 JDK。如果未安裝,IDE 將提示您下載 JDK。當然你也可以自己主動下載:

format,png

下載 JDK 的 vendor 源可以有多種可選(木有官方正統的 Oracle 喲~):

format,png

3、更好的 Java 代碼檢查

在 IntelliJ IDEA 的每個新版本中,都會擴展其靜態代碼分析功能。此版本也不例外。除了上述改進外,還新增了多項代碼檢查。它們可以檢查 SimpleDateFormat 模式中的大寫字母,分析日期格式設置,搜索其他冗余方法調用,以及報告并建議消除字符串文字中多余的轉義字符等。

format,png

format,png

4、LightEdit 模式

“輕編輯”模式,用意是用來作為簡單的文本編輯器。IntelliJ IDEA 2020.1 增加了期待已久的 LightEdit 模式。如今,用戶無需創建或加載整個項目,即可在類似文本的編輯器中快速修改獨立文件。您可以從命令行,IDE 的歡迎屏幕或操作系統文件管理器中,在此新的輕量級編輯器中打開文件。此外,使用“Open File in Project” (Alt+Enter) 意圖,可以從 LightEdit 模式切換至完整項目模式。

想法是好的,但我感覺有點雞肋:還要通過命令行模式打開,并且有編輯功能的閹割~

5、Javadoc 渲染

這個小功能本人非常的喜歡,照顧到了愛好讀源碼一族。在編輯器中閱讀 Javadoc 可能令人不勝其煩。此類文本中充斥著各種標記,在需要與參考鏈接和圖像進行交互時,更是雪上加霜。正因如此,IDEA 在編輯器中增加了一種渲染 Javadoc 的方法。通過 Help | Find actions | Render documentation comments on file opening 可以啟用此功能。

format,png

format,png

提個小建議:渲染后就不能鼠標選中 or 復制了,期望可以選中和復制,這樣講課起來做示例會方便很多。

6、改進的導航欄/面包屑欄

這個小功能我也是非常的喜歡,當然我平時使用快捷鍵會更多,但也還是喜歡此功能。IntelliJ IDEA 2020.1 提供了一種新選項來簡化項目導航。新導航欄可以顯示 Java 類和接口中的方法,用戶無需滾動屏幕,即可直接跳轉到需要在文件中查看的行。如果之前很少使用導航欄,那么何不體驗一下這項功能。通過 View | Appearance | Navigation Bar 即可將其打開(默認就是打開的)。

7、Zen 模式(禪模式)

很高級有木有,對于快捷鍵控,平時工作中我個人還挺喜歡使用這種模式編碼,投入度高效率就高了。

IntelliJ IDEA 2020.1 在編輯器中引入了新的 Zen 模式。這種模式有助于消除所有干擾項,使您可以專注于源代碼。Zen 模式將“免打擾模式”和“全屏模式”完美融合,無需同時開啟這兩種模式。從主菜單中選擇 View | Appearance | Enter Zen Mode,全身心沉浸在代碼世界中。

禪模式下的全屏截圖如下:

format,png

8、調試器:數據流分析輔助

該功能挺不錯的,輔助你調試,提高調試效率。

IntelliJ IDEA 2020.1 為 JVM 調試器新增了數據流分析功能。在代碼實際執行前,這項功能可對執行情況進行預測。當應用程序在斷點處停止時,IDE 將根據程序的當前狀態執行數據流分析,檢查/預測接下來的運行結果。要在調試器中使用 DFA,請在 Settings/Preferences | Build, Execution, Deployment | Debugger | Data Views | Java 下啟用該功能(默認是啟用的)。

format,png

9、調試器:屬性置頂

又是一個非常非常實用的小功能。簡單的說,你在調試的時候呢,有些對象的字段太多了,要去找他有時候還要翻頁或者下拉很多,一般 IDEA 調試可能要走好多遍代碼,你現在在第一次調試后,吧這個調試的字段置頂,以免老是要去找。

format,png

10、初步支持 HProf 快照分析

.hprof 文件一般指的是內存快照文件,用于做 JVM 內存溢出分析。之前 IDEA 一般借助 jvisualvm.exe 這個好用的工具來打開/分析此文件,現在 IDEA 內置就支持啦。

IntelliJ IDEA 2020.1 可以打開 .hprof 內存轉儲文件,這種文件有助于識別內存泄漏,并找到優化內存使用率的方法。例如,您可以查看總體大小、實例數量以及堆棧跟蹤等基本文件信息。這些文件還列出了按類分組的所有根對象、按實例數或大小排序的所有類以及帶有字段值查看器的所有類實例。

  • 使用 Demo

先使用 jmap -dump:file=test.hprof,format=b 你的 pid 拿到一份 dump 文件:test.hprof。然后使用 IDEA 的此功能把該文件讀取進來:

format,png

文件讀取進來后,可在其“專屬視窗”看到分析結果:

format,png

需要注意的是:這項功能目前處于早期階段,功能相對撿漏,后續的主要版本中將繼續改進,加入新的功能。

11、Git 交互體驗優化

此版本在 Git 的交互體驗上做了優化,使得使用起來確實更得心應手了。

  • 新 Commit 工具窗口:

format,png

可通過此頁面右上角的小齒輪,switch 切換為彈窗模式:

format,png

前者若想生效,你需要配置它成為默認的 commit 窗口模式,如下截圖所示:

format,png

對應的,還會衍生出 Git 其它操作中一些新的交互方式,見下圖們:

format,png

format,png

這個小功能非常贊:可以搜索分支以及刷新啦。

format,png

12、改進的 HttpClient 工具

IntelliJ IDEA 2020.1 中的 HTTP 客戶端更加智能。現在,它可以正確地自動補全路徑變量和 URL 路徑,引導用戶直接從 HTTP 請求文件訪問相關端點。IDEA 還為 Spring 用戶提供了一項更新:Spring MVC 處理程序方法現在獲得了指示 URL 映射的間距圖標。使用它可以創建或打開現有的 HTTP 請求文件并導航到 HTTP 客戶端。

format,png

format,png

format,png

13、統一的淺色主題

IntelliJ IDEA 2020.1 將新的淺色主題作為其在所有操作系統中統一使用的默認主題。IntelliJ 推薦你使用!但是像我用習慣了我的“自定義白色系主題”,所以我會切換回來的,看個人習慣嘍~

另外它默認使用的 JetBrains Mono 字體,若你不喜歡你也可以改回自己原來的。

此字體據說評價不錯,但我習慣了之前的,那就改吧。

14、小彩蛋:支持中文

這算此版本給的一個小彩蛋。需要注意的是:源生是不支持中文的,需要你額外下載 Chinese (Simplified) Language Pack 這個由官方提供的簡體中文插件:

format,png

漢化后的效果如下:

format,png

感謝捷克工程師(可能是由國人實現)對我大天朝程序員的“照顧”,且不說這個必要性到底有多大,但從側面體現了我國 IT 產業在國際上的分量越來越重了,這是一個好的信號,是我們的驕傲。

由于插件還是 EAP 版本,所以有些地方漢化不是非常徹底,不過絕大部分都是很 OK 的。程序員“老鳥”一定會覺得漢化的 IDE 很 low,但很明顯這對新手是非常友好的。

15、其它

  • 更好的框架支持

對 Spring WebFlux、Spring、JMS、RxJava、Swagger Codegen...等最主流框架均做了些許更好的支持,你使用過程中自會體會到的。

  • 對 Docker、Kubernetes 更好支持

為了便于您從 Docke 注冊表中拉取映像,此版本重新設計了 UI 并移除了彈出對話框。現在,只需點擊 Service 工具窗口左側窗格中的 Images 節點,IntelliJ IDEA 即可在右側窗格中打開 Images Console 選項卡,您從中可以輕松拉取映像。IDE 還為映像提供了補全功能。

format,png

Kubernetes 方面:通過直接從編輯器間距調用“Apply”命令,您可以更新 Kubernetes 集群,從而匹配在本地文件中定義的狀態,使用中自行體會哈。

  • Maven/Gradle 自動導入更加智能

使用中會體會到。

  • 支持 Scala 3

說明:初步支持,隨著 Scala 3 的發展也會逐漸提供更多支持。

  • 拆分 Terminal 終端會話

這個小功能也非常好用。此版本新增了垂直或水平拆分終端會話的功能,便于用戶并行運行多個會話。您可以從終端調用上下文菜單來創建、導航和關閉拆分的終端會話。

format,png

  • 運行配置可存儲到文件

這個小功能非常不錯,特別適合團隊協作。從 v2020.1 開始,運行配置可以靈活存儲于項目文件夾中。為此,請打開 Run/Debug Configurations 對話框,選中右上方的 Store as project file,然后點擊齒輪圖標。之后將打開一個彈出窗口,您可以在其中選擇運行配置的存儲位置。

format,png

  • 徹底過度到 JBR11 版本

從此版本開始,JetBrains Runtime 8 (JBR8) 已成歷史,已徹底過渡到 JetBrains Runtime 11 (JBR11)。

format,png

總結

作為 2020 年的第一個版本,有點“跨時代”的意思,帶來的新特性們還是可圈可點的。

升級建議:如果你不是“正經付費黨”,再次提示你:升級需謹慎哦(當然嘍,若純從使用角度來說,我本人是強烈建議你使用它的)。

最后,依舊要向那些孜孜不倦為 IT 行業提供優秀工具的人們致敬!!!特別是捷克的那些創造者們,你們創造了非常好的工具提高了生產力,推動了社會某些產業的進步,功勛卓越!!!

版權聲明:本文為 CSDN 博主「YourBatman」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/f641385712/article/details/105435920


---------------------
作者:CSDN資訊
來源:CSDN
原文:https://blog.csdn.net/csdnnews/article/details/105463271
版權聲明:本文為作者原創文章,轉載請附上博文鏈接!
內容解析By:CSDN,CNBLOG博客文章一鍵轉載插件

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/284947.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/284947.shtml
英文地址,請注明出處:http://en.pswp.cn/news/284947.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【ArcGIS遇上Python】ArcGIS批量為多個矢量圖層添加一個或多個字段(Add Field)案例實現

多個人在利用ArcGIS做數字化之后,需要批量為多個圖層添加一個或者多個相同的字段,挨個手動添加字段顯然不可取。ArcGIS Python提供了快速高效的批量添加字段的解決方案。本文以土地利用數據(Landuse1和Landuse2)為例,采用簡單的Python代碼實現了文中兩個矢量圖層批量添加字…

可下載!Vue3+.NET6實戰系列:通用管理后臺

.NET Framework停更3年,4月份還又停止了3個版本支持,居然還有人沒怎么接觸.NET跨平臺!真的該好好學下.NET6了,已經是不得不學了!好好看下這套《Vue3.NET6前后端分離電商實戰》免費教程,完整的源碼視頻課件全…

C語言試題192之實現strchr函數功能

??個人主頁:個人主頁 ??系列專欄:C語言試題200例 ??推薦一款刷算法、筆試、面經、拿大公司offer神器?? 點擊跳轉進入網站 ?作者簡介:大家好,我是碼莎拉蒂,CSDN博客專家(全站排名Top 50),阿里云博客專家、51CTO博客專家、華為云享專家 1、題目 題目: 實現st…

簡單團隊-爬取豆瓣電影TOP250-需求分析

1.實現登錄界面 2.搜集相關電影網址 3..按照一定條件爬取電影,實現相關代碼部分 項目步驟: 分析豆瓣電影TOP250的url規則, 編寫模塊獲取相關url分析html中有關"排名,分數,名字,簡介,導演,演員,前10條影評信息,鏈接信息"的標簽編寫將"搜集…

一個想法:成立草根技術聯盟對開發人員進行技術定級解決企業員工招聘難問題!...

背景&#xff1a; 吃飯前&#xff0c;想起了<甄嬛傳>中皇弟嘆息的一句&#xff1a;千軍易得&#xff0c;良將難尋&#xff01; 又逢CTO群里有友人讓我幫忙評估其公司的項目及技術&#xff0c;一番review code&#xff0c;估計要寫那代碼的人要落崗了~ 不由想起&#xff0…

對軟件工程這門課的收獲與總結

轉眼間八周已經過去&#xff0c;《現代軟件工程》這門課程也在這周結束了。在宋老師的教導下&#xff0c;以及在個人項目以及團隊項目的參與中我確實收獲了許多。我覺得我有必要將這八周所獲得的經驗也好&#xff0c;教訓也好都記錄下來&#xff0c;相信這也會對未來的自己有所…

[轉]C++二進制完成加減乘除

首先介紹計算機的二進制碼 二進制常用的有原碼&#xff0c;反碼和補碼&#xff0c;他們都是由最左邊的一個符號位和右邊的數值位構成。在計算機中為了更低成本的計算&#xff0c;數據都是用補碼來存儲和運算的。 原碼 最高位表示符號位&#xff08;0代表正數&#xff0c;1代…

WGS84(GPS)、火星坐標系(GCJ02)、百度地圖(BD09)坐標系轉換案例教程(附轉換工具下載)

在做基于百度地圖、高德地圖等電子地圖做為地圖服務的二次開發時,通常需要將具有WGS84等坐標的矢量數據(如行政區劃、地名、河流、道路等GIS地理空間數據)添加到地圖上面,然而,在線地圖大多使用的是火星坐標系,需要事先將矢量數據轉為火星坐標系。本文以案例的形式,講述…

.NET 6 AssemblyLoadContext DLL 庫 熱插拔邏輯實現

曾經也實現過.Net Framework 基于AppDomain 的 dll庫熱插拔&#xff0c;經歷了版本的迭代&#xff0c;.Net Core 不支持 AppDomain&#xff0c;之前也搞過.Net Core 3.1 版本的&#xff0c;現在搞一下子.NET 6.0的。熱插拔運用的場景主要運用到宿主與插件這個場景或者動態任務的…

C語言試題193之實現strcmp函數功能

??個人主頁:個人主頁 ??系列專欄:C語言試題200例 ??推薦一款刷算法、筆試、面經、拿大公司offer神器?? 點擊跳轉進入網站 ?作者簡介:大家好,我是碼莎拉蒂,CSDN博客專家(全站排名Top 50),阿里云博客專家、51CTO博客專家、華為云享專家 1、題目 題目: 實現st…

淺談Java多線程同步機制之同步塊(方法)——synchronized

在多線程訪問的時候&#xff0c;同一時刻只能有一個線程能夠用 synchronized 修飾的方法或者代碼塊&#xff0c;解決了資源共享。下面代碼示意三個窗口購5張火車票&#xff1a; 1 package com.jikexueyuan.thread;2 /*3 * 未使用synchronized&#xff0c;存在并發4 */5 class…

[轉]Webpack5(從入門到精通)

這里寫目錄標題 1、webpack 初體驗 全局安裝webpack2.打包樣式資源 創建webpack.config.js文件&#xff08;配置文件&#xff09;3.打包html資源 webpack.config.js文件&#xff08;配置文件&#xff09;4.打包圖片資源 webpack.config.js文件&#xff08;配置文件&#xff09;…

mybatis由淺入深day01_5mybatis開發dao的方法(5.1SqlSession使用范圍_5.2原始dao開發方法)...

5 mybatis開發dao的方法 5.1 SqlSession使用范圍 5.1.1 SqlSessionFactoryBuilder 通過SqlSessionFactoryBuilder創建會話工廠SqlSessionFactory 將SqlSessionFactoryBuilder當成一個工具類使用即可&#xff0c;不需要使用單例管理SqlSessionFactoryBuilder。 在需要創建SqlSes…

做?個?德地圖的 iOS / Android MAUI 控件(上)

點擊上方藍字關注我們&#xff08;本文閱讀時間&#xff1a;10分鐘)Microsoft Build 2022 ?會上正式發布了 .NET MAUI , 對于 .NET 開發者可以? C# 完成跨平臺的前端應?開發。對?起 MAUI 的前身 Xamarin , MAUI 除了可以?傳統的原?開發模式外&#xff0c;還?持了 Blazor…

易康eCognition Developer 9.01安裝教程(附eCognition下載地址及中文教程)

eCognition是由德國Definiens Imaging公司2009年推出的智能化影像分析軟件,2010年被美國Trimble公司收購。eCognition是目前所有商用遙感軟件中第一個基于目標信息的遙感信息提取軟件,它采用決策專家系統支持的模糊分類算法,突破了傳統商業遙感軟件單純基于光譜信息進行影像…

[改善Java代碼]不要覆寫靜態方法

建議33&#xff1a; 不要覆寫靜態方法 我們知道在Java中可以通過覆寫&#xff08;Override&#xff09;來增強或減弱父類的方法和行為&#xff0c;但覆寫是針對非靜態方法&#xff08;也叫做實例方法&#xff0c;只有生成實例才能調用的方法&#xff09;的&#xff0c;不能針對…

C語言試題194之實現strcpy函數功能

??個人主頁:個人主頁 ??系列專欄:C語言試題200例 ??推薦一款刷算法、筆試、面經、拿大公司offer神器?? 點擊跳轉進入網站 ?作者簡介:大家好,我是碼莎拉蒂,CSDN博客專家(全站排名Top 50),阿里云博客專家、51CTO博客專家、華為云享專家 1、題目 題目: 實現st…

ArcGIS實驗教程——實驗四十三:ArcGIS柵格重分類(Reclass)案例詳解

文章目錄 一、重分類1. 新值替代2. 將值組合到一起3. 按相同等級對一組柵格的值進行重分類4. 將特定值設置為NoData 或者為 NoData像元設置某個值二、查找表三、分割四、使用表重分類五、使用ASCI文件重分類重分類就是對原有柵格像元值重新分類從而得到一組新值并輸出。重分類工…

[中文版] 可視化 CSS References 文檔

本文分享了我將可視化 CSS References 文檔翻譯成中文版的介紹&#xff0c;翻譯工作還在陸續進行中&#xff0c;供學習 CSS 參考。 1. 可視化 CSS References 文檔介紹 許多 CSS 的文檔都是屬性的介紹&#xff0c;而開源項目 css-reference 并沒有提供中文版&#xff0c;而當我…

對比 C# 聊聊 C++ 中幾類特殊成員函數

一&#xff1a;背景 在 C# 中要說類默認給我們定義的特殊成員函數&#xff0c;莫過于 構造函數&#xff0c;但在 C 中這樣的特殊函數高達 6 種&#xff0c;有必要整合一下聊一聊。二&#xff1a;特殊成員函數 1. 默認構造函數和 C# 一樣&#xff0c;很多書中都說&#xff0c;如…