Kotlin 1.1.6版本更新,新功能搶先預(yù)覽

責(zé)任編輯:editor006

作者:鈺瑩

2017-11-20 16:11:12

摘自:it168網(wǎng)站

請(qǐng)記住,這個(gè)實(shí)驗(yàn)性支持默認(rèn)是禁用的——程序員可以通過(guò)在gradle properties或local properties中設(shè)置kotlin incremental js = true來(lái)啟用。

Kotlin 1.1.6版本剛剛發(fā)布,它是Kotlin 1.1版本的新修補(bǔ)程序和工具更新。新版本在Kotlin / JS Gradle項(xiàng)目中增加了對(duì)增量編譯的實(shí)驗(yàn)性支持,其目標(biāo)是縮短開(kāi)發(fā)過(guò)程中的構(gòu)建時(shí)間,它與2016.3至2017.3之間的所有IntelliJ IDEA版本以及Android Studio 2.3、3.0和3.1 Canary都兼容。

Kotlin 1.1.6版本更新,新功能搶先預(yù)覽

Kotlin 1.1.6版本亮點(diǎn)概覽

·對(duì)Kotlin/JS增量編譯的實(shí)驗(yàn)性支持(請(qǐng)注意,目前處于實(shí)驗(yàn)性支持階段)

·JSR-305自定義可空性注釋支持

·修復(fù)自動(dòng)Parcelable實(shí)現(xiàn)生成器Bug并提供IDE支持

·改進(jìn)Gradle增量構(gòu)建

·兼容IntelliJ插件,性能改進(jìn)和bug修復(fù)

Dmitry Jemerov在一篇博客中解釋道,Kotlin 1.1.6在Kotlin / JS Gradle項(xiàng)目中引入了增量編譯的實(shí)驗(yàn)性支持,可以顯著減少開(kāi)發(fā)過(guò)程中的構(gòu)建時(shí)間。編譯一個(gè)小的本地變化,分分鐘進(jìn)行完整的非增量重建。

請(qǐng)記住,這個(gè)實(shí)驗(yàn)性支持默認(rèn)是禁用的——程序員可以通過(guò)在gradle.properties或local.properties中設(shè)置kotlin.incremental.js = true來(lái)啟用。

對(duì)JSR-305可空性注釋的支持已得到改進(jìn),并在此發(fā)行版中進(jìn)行了一些bug修復(fù):

·JSR-305默認(rèn)類(lèi)型限定符可以指定ElementType.TYPE_USE來(lái)影響注釋范圍內(nèi)的所有類(lèi)型用法,包括類(lèi)型參數(shù),類(lèi)型參數(shù)上限和通配符類(lèi)型。

·提供類(lèi)型限定符昵稱(chēng)和類(lèi)型限定符默認(rèn)注釋的庫(kù)維護(hù)者現(xiàn)在可以通過(guò)使用@UnderMigration標(biāo)記注釋類(lèi)型來(lái)控制注釋的遷移狀態(tài)。這個(gè)注解在一個(gè)新的工件kotlin-annotations-jvm中發(fā)布,應(yīng)該作為庫(kù)的一個(gè)依賴(lài)添加,例如在Gradle中編譯“org.jetbrains.kotlin:kotlin-annotations-jvm:1.1.60”。 @UnderMigration(status = ...)值指定編譯器如何處理在注釋的API用法中檢測(cè)到的可空性違例,并且可以是MigrationStatus.STRICT,MigrationStatus.WARN和MigrationStatus.IGNORE之一,從而使編譯器報(bào)錯(cuò)。 MigrationStatus.STRICT被認(rèn)為是實(shí)驗(yàn)性的。

出于某種原因,與庫(kù)維護(hù)人員提供的遷移狀態(tài)不同的用戶(hù)可以通過(guò)將編譯器標(biāo)志為下列形式之一傳遞給可空性檢查:

·-Xjsr305 = {strict | warn | ignore}現(xiàn)在只影響所有沒(méi)有@UnderMigration狀態(tài)的注釋(strict模式是實(shí)驗(yàn)性的)

·-Xjsr305=under-migration:{strict|warn|ignore}會(huì)覆蓋所有@UnderMigrationannotations的行為

·-Xjsr305=@:{strict|warn|ignore}其中fq.name是特定注釋的完全限定名稱(chēng),用于覆蓋遷移狀態(tài)。

·(flag可以組合)

自動(dòng)Parcelable實(shí)現(xiàn)生成器中的很多已知問(wèn)題已經(jīng)被修復(fù),但目前處于實(shí)驗(yàn)階段。此外,IDE還支持以診斷和快速修復(fù)的形式幫助使用@Parcelize。

此外,Gradle項(xiàng)目test源代碼集中的Kotlin代碼在主源被更改并且最新的檢查為可靠的情況下可以逐步重新編譯,這要?dú)w功于一些bug修復(fù)。

最后但并非不重要的是,Kotlin IntelliJ IDEA插件有許多改進(jìn):

·新建項(xiàng)目向?qū)?,用Kotlin DSL創(chuàng)建一個(gè)Gradle項(xiàng)目

·在類(lèi)型不匹配的情況下,快速修復(fù)將Iterable,Sequence和Array彼此轉(zhuǎn)換

·快速修復(fù),使其類(lèi)型參數(shù)在需要時(shí)通過(guò)使用

·許多bug修復(fù)和性能改進(jìn)

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)