Skip to content
This repository has been archived by the owner on Apr 13, 2023. It is now read-only.

Latest commit

 

History

History
234 lines (191 loc) · 8.15 KB

Kotlin 1.0.6 is here!.md

File metadata and controls

234 lines (191 loc) · 8.15 KB
title date author tags keywords categories reward reward_title reward_wechat reward_alipay source_url translator translator_url
[译]Kotlin 1.0.6 is here!
2016-12-27 12:11:00 -0800
yanex
官方动态
false
Have a nice Kotlin!

我们很高兴地宣布发布 Kotlin 1.0.6,这是 Kotlin 1.0 的新 bug 和工具更新。此版本带来了与 IDE 插件和 Android 支持相关的大量改进。 我们要感谢我们的外部贡献者,他们的引用请求被包含在这个版本中: 基拉里·拉赫曼Yoshinori Isogai 。我们也要感谢我们的 EAP 用户的反馈。这对我们来说真的很有价值。 您可以在其中找到完整的更改列表 更新日志 。下面将介绍一些值得突出显示的变化。

try-finally转换为use()意图

我们继续添加将代码转换为惯用 Kotlin 的意图。 IDE 现在自动地建议用...替换try-finally使用() 当所有的finally块正在关闭资源时调用 “img alt =”“class =”alignnone size-full wp-image-4043“onmouseout =”this.src ='https://d3nmt5vlzunoa1.cloudfront.net/kotlin/files/2016/12/try1.png'; “ onmouseover =“this.src ='https://d3nmt5vlzunoa1.cloudfront.net/kotlin/files/2016/12/try.gif';” src =“https://d3nmt5vlzunoa1.cloudfront.net/kotlin/files/2016/12/try1.png”width =“700”/>

“添加名称来调用参数”意图

命名的参数有助于增加代码的可读性。使用新的“添加名称来调用参数”意图,您可以轻松地将名称添加到参数中,或者只是替换所有调用参数的名称。

{% raw %}

{% endraw %}

其他显着的 IDE 插件更改

  • 清除空二次建设机构的检查/意图,以及空的主要建设者声明;
  • “加入申报和转让”意向;
  • 修复调试器中的内联函数和性能改进;
  • KDoc 和 Quick Doc 的许多修复意图。

Android 支持

  • 现在支持 Android Studio 2.3 beta 1,以及 Android Gradle 插件 2.3.0-alpha3 和更新版本。
  • 添加“创建 XML 资源”意图;
  • 只有在 build.gradle 中启用相应的插件,Android Extensions 支持才能在 IDE 中处于活动状态;
  • Android Lint 中的大量修复程序。另外还添加了“抑制皮肤”意图。

Kapt 改进

我们继续研究 Kotlin 注解处理工具(kapt)的实验版本。尽管为了完全支持增量编译,还有一些事情要做,但自 Kotlin 1.0.4 起,注释处理的性能显着增加。 要启用实验性 kapt,只需将以下行添加到您的build.gradle应用插件:'kotlin-kapt'

全开编译器插件

全开编译器插件使类注释具有特定的注释,并且它们的成员在没有明确的open关键字的情况下打开,因此使用框架/库更容易,如 Spring AOP 或 Mockito。您可以阅读相关的全开的详细信息 保持 。 我们为 Gradle 和 Maven 以及 IDE 集成提供全面的插件支持。

如何使用全开的 Gradle

{% raw %}

{% endraw %}
buildscript {
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-allopen:$kotlin_version"
    }
}
 
apply plugin: "kotlin-allopen"
 
allOpen {
    annotation("com.your.Annotation")
}

{% raw %}

{% endraw %}

如果类(或其任何超类)用com.your.Annotation注释,则类本身及其所有成员将被打开。它甚至可以使用元注释:

{% raw %}

{% endraw %}
@com.your.Annotation
annotation class MyFrameworkAnnotation
 
@MyFrameworkAnnotation
class MyClass // will be all-open

{% raw %}

{% endraw %}

我们还提供了已经具有 Spring 框架所有必需注释的“kotlin-spring”插件:

{% raw %}

{% endraw %}
buildscript {
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-allopen:$kotlin_version"
    }
}
 
apply plugin: "kotlin-spring"

{% raw %}

{% endraw %}

当然,您可以在同一个项目中同时使用kotlin-allopenkotlin-spring

如何使用全部打开与 Maven

{% raw %}

{% endraw %}
<plugin>
    <artifactId>kotlin-maven-plugin</artifactId>
    <groupId>org.jetbrains.kotlin</groupId>
    <version>${kotlin.version}</version>
 
    <configuration>
        <compilerPlugins>
            <!-- Or "spring" for the Spring support -->
            <plugin>all-open</plugin>
        </compilerPlugins>
 
        <pluginOptions>
            <!-- Each annotation is placed on its own line -->
            <option>all-open:annotation=com.your.Annotation</option>
            <option>all-open:annotation=com.their.AnotherAnnotation</option>
        </pluginOptions>
    </configuration>
 
    <dependencies>
        <dependency>
            <groupId>org.jetbrains.kotlin</groupId>
            <artifactId>kotlin-maven-allopen</artifactId>
            <version>${kotlin.version}</version>
        </dependency>
    </dependencies>
</plugin>

{% raw %}

{% endraw %}

No-arg 编译器插件

no-arg编译器插件为具有特定注释的类生成一个额外的零参数构造函数。生成的构造函数是合成的,因此不能从 Java 或 Kotlin 直接调用,但可以使用反射来调用它。你可以看到激动人心的讨论 这里

如何在 Gradle 中使用 no-arg

用法非常类似于全开。

{% raw %}

{% endraw %}
buildscript {
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-noarg:$kotlin_version"
    }
}
 
// Or "kotlin-jpa" for the Java Persistence API support
apply plugin: "kotlin-noarg"
 
noArg {
    annotation("com.your.Annotation")
}

{% raw %}

{% endraw %}

如何在 Maven 中使用无参数

{% raw %}

{% endraw %}
<plugin>
    <artifactId>kotlin-maven-plugin</artifactId>
    <groupId>org.jetbrains.kotlin</groupId>
    <version>${kotlin.version}</version>
 
    <configuration>
        <compilerPlugins>
            <!-- Or "jpa" for the Java Persistence annotation support -->
            <plugin>no-arg</plugin>
        </compilerPlugins>
 
        <pluginOptions>
            <option>no-arg:annotation=com.your.Annotation</option>
        </pluginOptions>
    </configuration>
 
    <dependencies>
        <dependency>
            <groupId>org.jetbrains.kotlin</groupId>
            <artifactId>kotlin-maven-noarg</artifactId>
            <version>${kotlin.version}</version>
        </dependency>
    </dependencies>
</plugin>

{% raw %}

{% endraw %}

如何更新

要更新 IDEA 插件,请使用工具 | Kotlin | 配置 Kotlin 插件更新,然后按“检查更新现在”按钮。另外,别忘了在 Maven 和 Gradle 构建脚本中更新编译器和标准库版本。 命令行编译器可以从中下载 Github 发行页面 。 像往常一样,如果您遇到新版本的任何问题,欢迎您提供帮助 论坛 ,在 Slack(获得邀请) 这里 ),或报告中的问题 问题追踪器 。 让我们来吧!