KotlinK2模式进入稳定状态

程序员咋不秃头 2024-11-29 05:20:27

在 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 最常用功能的性能。这些基准适用于真实代码库,包括开源和内部项目。以下是我们衡量性能时使用的一些项目:

IntelliJ IDEA:IntelliJ IDEA Ultimate 的源代码(闭源)kotlinx.coroutines https://github.com/Kotlin/kotlinx.coroutinesKtor:https://github.com/ktorio/ktor

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

不支持的功能

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

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

未来计划

到 2025.1 版本,我们计划将 K2 模式设为默认选项。

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

敬请期待 Kotlin 的未来!

相关链接:

1. 迁移指南:

https://kotlin.github.io/analysis-api/migrating-from-k1.html

0 阅读:0

程序员咋不秃头

简介:感谢大家的关注