Kotlin plugin releases

The IntelliJ Kotlin plugin and IntelliJ IDEA are now on the same release cycle. To speed up the testing and delivery of new features, the plugin and the platform have been moved to the same codebase and ship simultaneously. Kotlin releases happen independently according to the new release cadence.

Kotlin and the Kotlin plugin have distinct sets of features:

  • Kotlin releases contain language, compiler, and standard library features.
  • Kotlin plugin releases introduce only IDE related features. For example, code formatting and debugging tools.

This also affects the versioning of the Kotlin plugin. Releases now have the same version as the simultaneous IntelliJ IDEA release. You can learn more about new release cadence in this blog post.

Kotlin plugin 2020.3

This plugin release introduces the following features:

New types of inline refactorings

Cross-language conversion is possible starting with version 2020.3 of the Kotlin plugin. You can now use the inline refactoring actions for Kotlin elements defined in Java.

The Kotlin plugin can inline code from libraries with attached sources. That means you can inline refactor all the Kotlin scope functions: also, let, run, apply, and with.

Also, this release brings refactoring improvements for lambda expressions. Now the IDE analyzes their syntax more thoroughly and formats them correctly.

Structural search and replace

Structural search and replace (SSR) actions are now available for Kotlin. The SSR feature allows you to find and replace code patterns, taking the syntax and semantics of the source code into account.

To start using the feature, open the Structural Search dialog for your .kt file and select one of the templates or create your own.

EditorConfig support

From 2020.3, the Kotlin API has the full support of .editorconfig files for managing code style on a directory level.

Project templates for Jetpack Compose for Desktop

The new experimental Jetpack Compose for Desktop templates are now available in the Kotlin Project Wizard. You can create a project using the following templates:

  • Desktop – a Compose project targeting the desktop JVM platform: Windows, Linux, or macOS.
  • Multiplatform – a Multiplatform Compose project targeting the desktop JVM platform (Windows, Linux, macOS) and Android with shared code in common modules.

Kotlin Project Wizard – Jetpack Compose project

To create a project, select one of the templates while creating a new project and specify the Gradle build system. The Kotlin plugin creates all the configuration files automatically. You can try out this experimental feature by working through Getting Started with Compose for Desktop tutorial.

Read more about Jetpack Compose features in this blog post and look through the examples of Compose applications.