IntelliJ IDEA Kotlin News

Kotlin K2 模式进入稳定状态

Read this post in other languages:

在 IntelliJ IDEA 2024.3 中,K2 模式脱离 Beta,现已处于稳定状态并可供大范围使用。 K2 模式可以显著提高 Kotlin 代码分析的稳定性、内存消耗效率和 IDE 的整体性能,并且支持 Kotlin 2.1 语言功能。

背景

开发 IntelliJ IDEA 中的 K2 模式是为了解决上一版 Kotlin 插件的局限性,包括各种性能和稳定性问题。 目标是通过提高代码分析的稳定性和性能,同时减少 UI 冻结,来增强 IntelliJ IDEA 的 Kotlin 插件的效率。 此外,K2 模式还启用了对 Kotlin 2.1 及更高版本中引入的新语言功能的支持。

兼容性

IntelliJ IDEA 的 K2 模式不依赖于项目构建设置中指定的 Kotlin 编译器版本。 K2 模式几乎完全重写了 IDE 中对 Kotlin 的支持。 “K2”这个名称表示 Kotlin 插件包含内部版本的 K2 Kotlin 编译器,用于代码分析,K1 模式则使用 K1 编译器。 IntelliJ IDEA 中捆绑的 Kotlin 编译器的版本完全独立于项目构建文件中指定的版本,但可能会影响项目中支持的 Kotlin 版本的范围。

如何启用 K2 模式

要启用 K2 模式,请转到 Preferences/Settings | Languages & Frameworks | Kotlin(偏好设置/设置 | 语言和框架 | Kotlin)并选择 Enable K2 mode(启用 K2 模式)复选框。

结果

采用率

自 2024.2 版本以来,K2 模式 (Beta) 的采用率已达到 15%,而且这一数字每周都在增长。 K2 模式从 2024.3 EAP 1 开始默认启用,86% 试用过的开发者仍在使用。

性能

借助新架构,K2 模式的未来增强潜力巨大,我们已经在 Kotlin 代码分析、补全和导航速度方面取得进步。 

我们使用一些基准来衡量 IntelliJ IDEA 最常用功能的性能。 这些基准适用于真实代码库,包括开源和内部项目。 以下是我们衡量性能时使用的一些项目:

以下是结果。结果越低越好。

不支持的功能 

由于 Kotlin 插件 API 的最新更改,某些依赖于 Kotlin 插件的第三方 IntelliJ IDEA 插件目前可能不可用。 我们正在积极为插件作者提供支持,使他们的插件尽快兼容 K2 模式。 有关详情,请参阅我们详细的迁移指南

一些功能,例如 Kotlin 临时文件支持,以及一些小检查、意图操作和快速修复仍未完成,将在下一版本中得到支持。

未来计划

到 2025.1 版本,我们计划将 K2 模式设为默认选项。
借助新架构,我们打破了以前的限制,现在我们可以通过许多新方式提高 Kotlin 插件未来的性能。 我们将继续提高其性能、内存效率和稳定性,让您的体验更加流畅。 虽然 K2 模式是一个强大的工具,但它不会立即解决所有挑战。不过,它确实为我们的后续改进奠定了坚实基础! 

敬请期待 Kotlin 的未来!

本博文英文原作者:

Teodor Irkhin

Teodor Irkhin

image description

Discover more