IntelliJ IDEA 2018.2支援Java 11、MacBook Touch Bar等新特性
近期,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\u0026lt;Processor, String\u0026gt; consumer = (Processor x, String y) -\u0026gt; x.process(y);\//Java 11,支援var。\BiConsumer\u0026lt;Processor, String\u0026gt; consumer = (var x, var y) -\u0026gt; x.process(y);\
\\為配合Java 11對var
的支援特性,在IDE中按住“Ctrl/⌘”鍵並將游標駐留於var
上,將會顯示該變數的型別。
對於程式碼中冗長的方法鏈,IntelliJ IDEA將會給出型別提示(Type Hint)。面對具有泛型的長方法鏈時,開發人員可通過該功能檢視每個呼叫的型別提示。
\\\\2018.2為使用Extract Method(提煉方法)的重構新添了一個預覽皮膚。它有助於開發人員在確認更改前檢視重構的可能情況。
\\\\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主題也做了一些更新。
\\\\Scala
\\IntelliJ IDEA對Scala外掛做了多項改進。它支援開發人員以內聯提示的方式檢視隱式轉換和引數,並在一個提示工具(Tooltip)中瀏覽並擴充套件顯示資訊。現在,Scala外掛中新增了Scalafmt格式化工具。要配置Scala外掛,可依次點選選單項“Preferences/Settings”\u0026gt;“Editor”\u0026gt;“Code Style”\u0026gt;“Scala”。
\\型別標註的自動完成和模式匹配功能也做了改進。如有可能,Scala外掛會對類和介面給出一組建議的型別模式,參見下圖:
\\\\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等。
\\\\2018.2針對Spring Boot應用做了一些改進。新的Diagram Model支援開發人員對Spring Boot應用執行時Bean之間的依賴關係做視覺化。開發人員可以通過Run Dashboard管理HTTP請求對映。
\\\\Docker
\\IDEA的Docker外掛日漸成熟。新支援的特性包括使用新的Use Soft Warps操作支援Docker日誌換行(wrap word)。開發人員也可以從Compose節點和容器瀏覽對應的Compose和Docker檔案。此外,現在支援定義一個用於為Docker檔案執行docker build命令的根目錄。
\\更多資訊,以及完全的改進列表,提供於“新特性”頁面中。
\\檢視英文原文: IntelliJ IDEA 2018.2 Supports Java 11, MacBook Touch Bar and More
相關文章
- 支援Java 11的IntelliJ IDEA 2018.2釋出JavaIntelliJIdea
- IntelliJ IDEA 2018.2 for Mac/Win破解IntelliJIdeaMac
- IntelliJ IDEA 2019.1 新特性IntelliJIdea
- MacBook Pro可能會拋棄Touch Bar,重振MagSafeMac
- Touch Bar上的彩虹貓 - Touch Bar Nyan Cat
- 記一次Intellij-IDEA配置JDK1.8,支援Lambda新特性IntelliJIdeaJDK
- 修復MacBook Touch Bar(觸控欄)無法正常工作的方法Mac
- Java 11新特性Java
- Java 11 的新特性(下)Java
- Java開發工具IntelliJ IDEA 2022(idea)JavaIntelliJIdea
- Java效率工具之Intellij IDEAJavaIntelliJIdea
- Touch Bar Piano for mac觸控鋼琴Mac
- GitHub Copilot 更新:支援 PyCharm、IntelliJ IDEA 和 NeovimGithubPyCharmIntelliJIdea
- WWDC 2018:Cocoa Touch新特性與改進
- IntelliJ IDEA 建立Gradle/Java 專案IntelliJIdeaGradleJava
- IntelliJ IDEA 2022(Java開發工具)IntelliJIdeaJava
- Java開發工具 IntelliJ IDEA 2022JavaIntelliJIdea
- Java開發工具——IntelliJ IDEA 2021JavaIntelliJIdea
- Java 11新特性:Java飛行黑盒子Java
- 【IntelliJ IDEA】IntelliJIdea
- Java 11正式釋出,新特性解讀Java
- IntelliJ IDEA 2022 for Mac(Java開發工具)IntelliJIdeaMacJava
- IntelliJ IDEA中報錯:Error: java: 無效的目標發行版本: 11IntelliJIdeaErrorJava
- 詳述 IntelliJ IDEA 遇到 java -source 1.3 中不支援某某操作的解決方法IntelliJIdeaJava
- Java11新特性,Java程式設計師必備Java程式設計師
- java11新特性--Epsilon:A No-Op Garbage CollectorJava
- 支援M1:IntelliJ IDEA 2023 Mac破解附 IntelliJ IDEA 2023註冊碼 無需賬號登入IntelliJIdeaMac
- IntelliJ IDEA 2022.1.4IntelliJIdea
- mac上如何徹底刪除IntelliJ IDEA等軟體MacIntelliJIdea
- Java開發IntelliJ IDEA 2022 v2022.1.3JavaIntelliJIdea
- Intellij Idea 將Java專案打包成jarIntelliJIdeaJavaJAR
- 用IntelliJ IDEA ULTIMATE版看Java類圖IntelliJIdeaJava
- IntelliJ IDEA 2021 好用的Java開發工具IntelliJIdeaJava
- java11新特性--Local-Variable Syntax for Lambda ParametersJava
- C++11新特性C++
- Mac自定義觸控欄 Touch Bar的顯示教程Mac
- 使用IntelliJ IDEA新建Java Web後端resfulAPI模板IntelliJIdeaJavaWeb後端API
- Java開發必裝的IntelliJ IDEA外掛JavaIntelliJIdea