來源:Java技術棧

近期,JetBrains發佈了其旗艦產品IntelliJ IDEA的2018.2版本。新版本支持即將推出的Java 11、斷點意圖(Breakpoints Intentions)、MacBook的Touch Bar等特性,並改進了Spring Boot、Scala和Docker插件。

Java


IntelliJ IDEA 2018.2支持Lambda參數使用的本地變量新語法(即JEP 323)。這是定於11月推出的Java 11中的一個新特性。該特性支持開發人員在Lambda表達式中使用var:

//Java 8,不支持var。 
BiConsumer consumer = (Processor x, String y) -> x.process(y);
//Java 11,支持var。
BiConsumer consumer = (var x, var y) -> x.process(y);

爲配合Java 11對var的支持特性,在IDE中按住“Ctrl/⌘”鍵並將光標駐留於var上,將會顯示該變量的類型。

對於代碼中冗長的方法鏈,IntelliJ IDEA將會給出類型提示(Type Hint)。面對具有泛型的長方法鏈時,開發人員可通過該功能查看每個調用的類型提示。

IntelliJ IDEA 2018.2 發佈,支持 Java 11


2018.2爲使用Extract Method(提煉方法)的重構新添了一個預覽面板。它有助於開發人員在確認更改前查看重構的可能情況。

IntelliJ IDEA 2018.2 發佈,支持 Java 11


IntelliJ IDEA改進了對@org.jetbrains.annotations.Contract標註的支持。該標註支持開發人員爲特定參數的傳遞指定一個響應方法,這將爲空性(Nullability)分析以及其它一些代碼檢查提供幫助。其約束新增的支持值包括:new,方法應該返回一個非Null的新對象;this,方法應該返回一個非Null的本身(this)指向;paramX,方法應該返回第X個參數。

Stream API支持也做了改進。它將會顯示不必要的排序操作,以及錯誤使用了收集器(Collector)或集合(Colleciton)。此外,它還新增了對collect()(toSet())方法之前冗餘調用distinct()方法給出警告。

Java項目的調試也做了大量的改進。如果開發人員組合使用Alt+Enter鍵及其他一些可用意圖(Intension),就可能會看到三種新的斷點意圖:在類中只停(stop only)、類中不停,以及在當前對象中只停。此外,調試中還提供了一種新的Caller過濾器,支持開發人員從指定方法調用時在一個斷點處只停,或是從指定方法調用時跳過一個斷點。

用戶界面


新版本還交付了一系列用戶界面上的改進。現在IDEA直接支持MacBook的Touch Bar,並在Touch Bar界面的中間顯示TouchJ IDEA按鈕。這使得開發人員可以直接從Touch Bar運行、調試、提交更改和更新項目。對於macOS上的IntelliJ主題,現在支持以更暗方式顯示標題欄,並添加了一些新的圖標。而Linux上的IntelliJ主題也做了一些更新。

IntelliJ IDEA 2018.2 發佈,支持 Java 11


Scala


IntelliJ IDEA對Scala插件做了多項改進。它支持開發人員以內聯提示的方式查看隱式轉換和參數,並在一個提示工具(Tooltip)中瀏覽並擴展顯示信息。現在,Scala插件中添加了Scalafmt格式化工具。要配置Scala插件,可依次點擊菜單項“Preferences/Settings”>“Editor”>“Code Style”>“Scala”。

類型標註的自動完成和模式匹配功能也做了改進。如有可能,Scala插件會對類和接口給出一組建議的類型模式,參見下圖:

IntelliJ IDEA 2018.2 發佈,支持 Java 11


JavaScript/Typescript


2018.2還改進了對JavaScript和TypeScript的支持。開發人員可以使用新的提煉組件(Extract Component)重構特性新建一個React組件,使用新的Code Coverage特性發現並未在客戶端使用的JavaScript/TypeScript代碼,並對代碼做手工功能測試。爲此,開發人員需要使用Code Coverage啓動一個JavaScript Debug配置,並與Chrome中的應用進行交互。配置完成後,IntelliJ IDEA會在Coverage工具窗口中給出一個代碼覆蓋情況報告。

此外,開發人員可使用一系列JavaScript和TypeScript意圖,例如實現接口、創建派生類、實現接口或抽象類的成員、生成switch語句中的case,以及使用“for..of”實現迭代運算。

Spring


在2018.2中新添了一個Spring Integration Diagram。它使用XML或Java標註顯示了Spring應用的配置情況,包括gateway、channel和bridge等。

IntelliJ IDEA 2018.2 發佈,支持 Java 11


2018.2針對Spring Boot應用做了一些改進。新的Diagram Model支持開發人員對Spring Boot應用運行時Bean之間的依賴關係做可視化。開發人員可以通過Run Dashboard管理HTTP請求映射。

IntelliJ IDEA 2018.2 發佈,支持 Java 11


Docker

IDEA的Docker插件日漸成熟。新支持的特性包括使用新的Use Soft Warps操作支持Docker日誌換行(wrap word)。開發人員也可以從Compose節點和容器瀏覽對應的Compose和Docker文件。此外,現在支持定義一個用於爲Docker文件執行docker build命令的根目錄。


更多信息,以及完全的改進列表,提供於“新特性”頁面中。

相關文章