Kotlin 1.1.4有很多的驚喜,它修復(fù)了IntelliJ IDEA插件中的一個主要性能問題,并為IntelliJ IDEA插件添加了許多新功能。而且還包含有一個用于JavaScript死代碼消除和支持Java 9改進(jìn)的工具。
Kotlin1.1.4亮點
JetBrains的首席工程師德米特里·杰梅羅夫(Dmitry Jemerov)在一篇博文中透露, Kotlin 1.1.4的主要亮點:
修復(fù)了IntelliJ IDEA插件中的主要性能回歸;
添加對package-default可空性注解的支持;
改善Java 9的支持;
添加使用@Parcelize注釋生成Android Parcelable的初始支持;
添加一個用于JavaScript死代碼消除的工具,提高對JS調(diào)試和JS單元測試的源映射支持;
生成更高效的字節(jié)碼;
為IntelliJ IDEA插件添加了許多新功能
Kotlin現(xiàn)在支持package-default可空性注釋(如JSR-305 @ParametersAreNonnullByDefault和@NonNullApi Spring Framework 5.0中引用的注釋)。
默認(rèn)情況下,為了避免編譯錯誤,這種注釋的支持是關(guān)閉的。因為使用Java API更精確的可空性信息,必須通過將-Xjsr305-annotations=enable命令行選項傳遞給編譯器來啟用。要在Gradle構(gòu)建中啟用此功能,需要使用 freeCompilerArgs option;在Maven構(gòu)建需要使用。從1.1.4開始,Kotlin還會根據(jù)信息執(zhí)行基于模塊的可見性檢查 module-info.java。
就 Android Extensions插件而言,除了Activities 和Fragments之外,還支持自定義視圖,自定義布局容器,如 ViewHolder 和 variants。但是,這些還是在實驗階段:
androidExtensions {
它是如何工作的呢?Jemerov表示,在主構(gòu)造函數(shù)中聲明序列化屬性并添加 @Parcelize 注釋,并且 writeToParcel()/ createFromParcel() 將自動創(chuàng)建:
@Parcelize
class User(val firstName: String, val lastName: String) : Parcelable
Kotlin 1.1.4對IntelliJ IDEA插件進(jìn)行了不少改進(jìn),例如:此版本還增加了一種新工具,可以消除由Kotlin / JS編譯器生成的.js文件中的死代碼。可惜的是,這個新工具目前僅支持Gradle版本。用戶可以通過添加apply plugin: 'kotlin-dce-js'在build.gradle啟用它 。
1.修復(fù) IDEA 插件中的主要性能回歸
2.重構(gòu)Copy Class
3.“Inline”重構(gòu)支持屬性訪問器
4.支持重命名標(biāo)簽
5.代碼樣式設(shè)置中增添了許多新選項
6.支持?jǐn)?shù)據(jù)流分析
7.“Configure Kotlin in project” 支持Gradle Kotlin DSL;
新聞熱點
疑難解答
圖片精選