IntelliJ IDEA 2018.2 发布,支持 Java 11
轉(zhuǎn)載自? ?IntelliJ IDEA 2018.2 發(fā)布,支持 Java 11
近期,JetBrains發(fā)布了其旗艦產(chǎn)品IntelliJ IDEA的2018.2版本。新版本支持即將推出的Java 11、斷點(diǎn)意圖(Breakpoints Intentions)、MacBook的Touch Bar等特性,并改進(jìn)了Spring Boot、Scala和Docker插件。
??
Java
IntelliJ IDEA 2018.2支持Lambda參數(shù)使用的本地變量新語法(即JEP 323)。這是定于11月推出的Java 11中的一個新特性。該特性支持開發(fā)人員在Lambda表達(dá)式中使用var:
//Java?8,不支持var。? BiConsumer<Processor,?String>?consumer?=?(Processor?x,?String?y)?->?x.process(y);//Java?11,支持var。 BiConsumer<Processor,?String>?consumer?=?(var?x,?var?y)?->?x.process(y);為配合Java 11對var的支持特性,在IDE中按住“Ctrl/?”鍵并將光標(biāo)駐留于var上,將會顯示該變量的類型。
對于代碼中冗長的方法鏈,IntelliJ IDEA將會給出類型提示(Type Hint)。面對具有泛型的長方法鏈時,開發(fā)人員可通過該功能查看每個調(diào)用的類型提示。?
2018.2為使用Extract Method(提煉方法)的重構(gòu)新添了一個預(yù)覽面板。它有助于開發(fā)人員在確認(rèn)更改前查看重構(gòu)的可能情況。
?
?
IntelliJ IDEA改進(jìn)了對@org.jetbrains.annotations.Contract標(biāo)注的支持。該標(biāo)注支持開發(fā)人員為特定參數(shù)的傳遞指定一個響應(yīng)方法,這將為空性(Nullability)分析以及其它一些代碼檢查提供幫助。其約束新增的支持值包括:new,方法應(yīng)該返回一個非Null的新對象;this,方法應(yīng)該返回一個非Null的本身(this)指向;paramX,方法應(yīng)該返回第X個參數(shù)。
Stream API支持也做了改進(jìn)。它將會顯示不必要的排序操作,以及錯誤使用了收集器(Collector)或集合(Colleciton)。此外,它還新增了對collect()(toSet())方法之前冗余調(diào)用distinct()方法給出警告。
Java項(xiàng)目的調(diào)試也做了大量的改進(jìn)。如果開發(fā)人員組合使用Alt+Enter鍵及其他一些可用意圖(Intension),就可能會看到三種新的斷點(diǎn)意圖:在類中只停(stop only)、類中不停,以及在當(dāng)前對象中只停。此外,調(diào)試中還提供了一種新的Caller過濾器,支持開發(fā)人員從指定方法調(diào)用時在一個斷點(diǎn)處只停,或是從指定方法調(diào)用時跳過一個斷點(diǎn)。
用戶界面
新版本還交付了一系列用戶界面上的改進(jìn)。現(xiàn)在IDEA直接支持MacBook的Touch Bar,并在Touch Bar界面的中間顯示TouchJ IDEA按鈕。這使得開發(fā)人員可以直接從Touch Bar運(yùn)行、調(diào)試、提交更改和更新項(xiàng)目。對于macOS上的IntelliJ主題,現(xiàn)在支持以更暗方式顯示標(biāo)題欄,并添加了一些新的圖標(biāo)。而Linux上的IntelliJ主題也做了一些更新。
Scala
IntelliJ IDEA對Scala插件做了多項(xiàng)改進(jìn)。它支持開發(fā)人員以內(nèi)聯(lián)提示的方式查看隱式轉(zhuǎn)換和參數(shù),并在一個提示工具(Tooltip)中瀏覽并擴(kuò)展顯示信息。現(xiàn)在,Scala插件中添加了Scalafmt格式化工具。要配置Scala插件,可依次點(diǎn)擊菜單項(xiàng)“Preferences/Settings”>“Editor”>“Code Style”>“Scala”。
類型標(biāo)注的自動完成和模式匹配功能也做了改進(jìn)。如有可能,Scala插件會對類和接口給出一組建議的類型模式,參見下圖:
JavaScript/Typescript
2018.2還改進(jìn)了對JavaScript和TypeScript的支持。開發(fā)人員可以使用新的提煉組件(Extract Component)重構(gòu)特性新建一個React組件,使用新的Code Coverage特性發(fā)現(xiàn)并未在客戶端使用的JavaScript/TypeScript代碼,并對代碼做手工功能測試。為此,開發(fā)人員需要使用Code Coverage啟動一個JavaScript Debug配置,并與Chrome中的應(yīng)用進(jìn)行交互。配置完成后,IntelliJ IDEA會在Coverage工具窗口中給出一個代碼覆蓋情況報告。
此外,開發(fā)人員可使用一系列JavaScript和TypeScript意圖,例如實(shí)現(xiàn)接口、創(chuàng)建派生類、實(shí)現(xiàn)接口或抽象類的成員、生成switch語句中的case,以及使用“for..of”實(shí)現(xiàn)迭代運(yùn)算。?
Spring
在2018.2中新添了一個Spring Integration Diagram。它使用XML或Java標(biāo)注顯示了Spring應(yīng)用的配置情況,包括gateway、channel和bridge等。
?
2018.2針對Spring Boot應(yīng)用做了一些改進(jìn)。新的Diagram Model支持開發(fā)人員對Spring Boot應(yīng)用運(yùn)行時Bean之間的依賴關(guān)系做可視化。開發(fā)人員可以通過Run Dashboard管理HTTP請求映射。
Docker
IDEA的Docker插件日漸成熟。新支持的特性包括使用新的Use Soft Warps操作支持Docker日志換行(wrap word)。開發(fā)人員也可以從Compose節(jié)點(diǎn)和容器瀏覽對應(yīng)的Compose和Docker文件。此外,現(xiàn)在支持定義一個用于為Docker文件執(zhí)行docker build命令的根目錄。
更多信息,以及完全的改進(jìn)列表,提供于“新特性”頁面中。
總結(jié)
以上是生活随笔為你收集整理的IntelliJ IDEA 2018.2 发布,支持 Java 11的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 特斯拉Model 3焕新版正式开售:25
- 下一篇: 宏碁在印度推出电动踏板车 Muvi 12