大家好,我是互聯(lián)網(wǎng)架構(gòu)師。文?| 羅奇奇
出品 | OSC開源社區(qū)(ID:oschina2013)
IntelliJ IDEA 2022.1 正式發(fā)布了,該版本的重點功能是:引入了?Dependency Analyzer?以促進依賴關(guān)系管理和沖突解決,一個更新的?New Project?向?qū)韮?yōu)化新項目的啟動過程,以及?Notifications?通知工具窗口,它提供了一種新的、簡化的方式來接收來自 IDE 的通知。2022.1 版本還包括許多其他值得注意的改進,下面摘錄部分新功能作介紹。
關(guān)鍵更新
依賴分析器 (Dependency Analyzer)
為了促進依賴管理和沖突解決,IntelliJ IDEA 實現(xiàn)了依賴分析器,它提供項目和子項目中使用的所有依賴項(包括傳遞性依賴項)的廣泛信息。這個新功能允許輕松檢測沖突的依賴關(guān)系并解決問題,比如可以過濾掉相同的依賴項,并查看它們在不同庫中的存在,還可以快速瀏覽依賴項,以正確構(gòu)建配置。?重新設(shè)計了新項目?向?qū)Ы缑?,以簡化?chuàng)建新項目的過程??梢钥焖賳右粋€空項目;使用 Java、Kotlin、Groovy 和 JavaScript 的預配置選項;或者有更復雜的項目,請使用生成器。事件日志實例已替換為新的?通知?工具窗口,更清楚地突出重要和有用的建議和通知,并將它們組織在專用工具窗口中。有關(guān)更多詳細信息,請參閱博客文章:https://blog.jetbrains.com/idea/2022/01/intellij-idea-2022-1-eap-1/#New_Notifications_tool_window用戶體驗
新建項目向?qū)е械?Maven Archetype 優(yōu)化
作為新建項目向?qū)У?UI 改造的一部分,IntelliJ IDEA 重新設(shè)計了 Maven Archetype 項目生成器,2022.1 版本在瀏覽原型時引入了“鍵入時搜索”功能,以及在模塊創(chuàng)建期間管理原型目錄的能力。IntelliJ IDEA 2022.1?可以在編輯器選項卡之間平均分配工作空間,使它們具有相同的寬度。現(xiàn)在可以將 UML 圖導出為 yEd .graphml、JGraph .drawio、Graphviz .dot、帶位置的 Graphviz .dot、Mermaid .md、Plantuml 和 IntelliJ IDEA .uml 文件,使得它們與第三方工具兼容。更新了?結(jié)構(gòu)搜索和替換?對話框
重新設(shè)計了結(jié)構(gòu)搜索和替換對話框,提供所有模板的列表,以便更輕松地在它們之間導航。?安全
ntelliJ IDEA 2022.1 現(xiàn)在可以通過檢查 Checkmarx SCA 數(shù)據(jù)庫和國家漏洞數(shù)據(jù)庫,來檢測項目中使用的 Maven 和 Gradle 依賴項中的漏洞。Java 支持
IntelliJ IDEA 2022.1 支持 2022 年 3 月發(fā)布的 Java 18 的新功能。IDE 現(xiàn)在支持代碼片段、開關(guān)表達式的模式匹配更改等功能。有關(guān)詳細信息,請參閱此博客文章:https://blog.jetbrains.com/idea/2022/03/java-18-features-support/?_gl=1*6wf1f9*_ga*MjA4MTU3MzE1OC4xNjM0ODU3MzQ1*_ga_V0XZL7QHEB*MTY0OTgwNTQ3NS40LjEuMTY0OTgwNjMwMy4yMw..&_ga=2.58852333.1145425053.1649805475-2081573158.1634857345Java 反編譯器現(xiàn)在與 Java 17 版本更兼容。它支持現(xiàn)代語言構(gòu)造函數(shù),例如密封類型和模式匹配,具有更好的字符串反編譯切換功能,提供類型注釋并檢測公共常量。添加了對 JUnit 5.7 中引入的新功能的支持,包括對@EnabledIf/DisabledIf、@NullSource/EmptySource和@TempDir注釋的支持。使用 try/catch?模板更新?Surround
更新后的帶有 try/catch模板的 Surround 現(xiàn)在重新拋出包裝到 RuntimeException 中的異常,而不是吞下它。Kotlin 支持
IntelliJ IDEA 2022.1 支持 Kotlin 1.6.20,因此最新的 Kotlin 語言功能,例如支持并行編譯、上下文接收器原型以及跨所有 Kotlin 目標的更好的代碼共享,現(xiàn)在都可以在 IDE 中使用。在此博客文章中了解有關(guān)新 Kotlin 更新的更多 信息:https://blog.jetbrains.com/kotlin/2022/04/kotlin-1-6-20-released/優(yōu)化了包索引,大大提高了 IDE 在執(zhí)行代碼完成、突出顯示和與參考搜索等相關(guān)操作時的速度,在代碼更改后發(fā)生的重新索引案例的數(shù)量和范圍也有所減少。框架和技術(shù)?
Go 微服務支持
添加了對 Go 微服務的支持,提供 URL 路徑引用、端點、Search Everywhere 和裝訂線圖標等功能。使用這些功能需要在 IntelliJ IDEA Ultimate 中安裝 Go 插件,目前僅適用于標準庫函數(shù)。
IntelliJ IDEA Ultimate 現(xiàn)在為 Go 文件中的 HTTP 方法和標頭提供補全,每個端點旁邊都會出現(xiàn)一個地球圖標,如果單擊它,IntelliJ IDEA Ultimate 將建議幾個選項。
Spring Data Mongo 的代碼洞察改進
引入了許多更新來改善使用 Spring Data MongoDB 的用戶體驗。IntelliJ IDEA 現(xiàn)在突出顯示 JSON 查詢,完成運算符和文檔字段,并提供從映射實體到?數(shù)據(jù)庫?工具窗口的導航。更好地支持 .proto 文件
為 .proto 文件引入了一個新的意圖操作:為未解析的消息引用添加了缺失的導入語句,添加缺少的導入語句后, IDE 將提供消息引用的補全建議。gRPC 反射支持
Kubernetes 支持
Kubernetes
編輯集群上的資源
現(xiàn)在可以從編輯器選項卡中修改從集群加載的資源。kubectl 的自定義路徑
如果 kubectl 不在標準位置,現(xiàn)在可以手動配置路徑。轉(zhuǎn)發(fā)端口?
該版本為 pod 添加了端口轉(zhuǎn)發(fā)功能。要轉(zhuǎn)發(fā)端口,可以使用工具欄上的圖標或選擇上下文菜單項。服務視圖中的?描述資源操作
“服務”視圖中的所有資源都有一個新的“描述資源”操作,可以從上下文菜單中調(diào)用它或使用工具欄按鈕。支持集群中的事件
集群事件現(xiàn)在顯示在?服務?視圖的單獨節(jié)點中,提供有關(guān)系統(tǒng)中最近事件的數(shù)據(jù)。要查看特定 pod 的事件,請在其上面調(diào)用?Describe Resource?并在操作結(jié)果中?查找?Events 部分支持
為 werf.yaml 和相關(guān) Helm 模板文件 (?https://werf.io?) 引入了有限的編輯器支持,包括代碼補全功能、檢查和快速修復建議、重構(gòu)/重命名 .?Values.werf.image.*,以及一些字段的驗證,如?boolean?和?int。??對 Helm 的導入子值支持
支持通過?import-values?設(shè)置導入子值,這些設(shè)置影響模板中內(nèi)置對象的完成/導航。尚未提供對 import-values 字段的增強編輯器支持。請注意,Kubernetes 功能僅適用于 IntelliJ IDEA Ultimate,并且需要安裝插件。構(gòu)建工具
為 Gradle 進程實現(xiàn)了一個確定的進度條,例如下載依賴項和導入工件,允許跟蹤文件發(fā)生的情況并估計該過程何時完成。此版本還包含大量更新項,詳情可在更新公告中細閱:https://www.jetbrains.com/idea/whatsnew/#web-development