Skip to content

Commit

Permalink
update: add Kotlin plugin 2020.3 release (JetBrains#1965)
Browse files Browse the repository at this point in the history
* update: add What's new in Kotlin plugin 2020.3

* update: update titles
  • Loading branch information
koshachy authored Dec 2, 2020
1 parent 0b28ab3 commit 795df51
Show file tree
Hide file tree
Showing 3 changed files with 61 additions and 5 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 7 additions & 5 deletions data/_nav.yml
Original file line number Diff line number Diff line change
Expand Up @@ -80,16 +80,18 @@ reference:
- title: What's New
description: What's new in Kotlin releases
content:
- url: /docs/reference/whatsnew-plugin-20203.html
title: Kotlin plugin 2020.3
- url: /docs/reference/whatsnew1420.html
title: What's New in 1.4.20
title: Kotlin 1.4.20
- url: /docs/reference/whatsnew14.html
title: What's New in 1.4
title: Kotlin 1.4
- url: /docs/reference/whatsnew13.html
title: What's New in 1.3
title: Kotlin 1.3
- url: /docs/reference/whatsnew12.html
title: What's New in 1.2
title: Kotlin 1.2
- url: /docs/reference/whatsnew11.html
title: What's New in 1.1
title: Kotlin 1.1

- title: Releases and Roadmap
description: Kotlin releases and roadmap
Expand Down
54 changes: 54 additions & 0 deletions pages/docs/reference/whatsnew-plugin-20203.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
---
type: doc
layout: reference
title: "Kotlin plugin releases"
---

# Kotlin plugin releases

The [IntelliJ Kotlin plugin](https://plugins.jetbrains.com/plugin/6954-kotlin) and [IntelliJ IDEA](https://www.jetbrains.com/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](https://blog.jetbrains.com/kotlin/2020/10/new-release-cadence-for-kotlin-and-the-intellij-kotlin-plugin/).

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](https://blog.jetbrains.com/kotlin/2020/10/new-release-cadence-for-kotlin-and-the-intellij-kotlin-plugin/).

## Kotlin plugin 2020.3

This plugin release introduces the following features:
* [New types of inline refactorings](#new-types-of-inline-refactorings)
* [Structural search and replace](#structural-search-and-replace)
* [EditorConfig support](#editorconfig-support)
* [Project templates for Jetpack Compose for Desktop](#project-templates-for-jetpack-compose-for-desktop)

### 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](https://www.jetbrains.com/help/idea/inline.html) all the [Kotlin scope functions](https://kotlinlang.org/docs/reference/scope-functions.html): _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)](https://www.jetbrains.com/help/idea/structural-search-and-replace.html) 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](https://www.jetbrains.com/help/idea/search-templates.html) or create your own.

### EditorConfig support

From 2020.3, the Kotlin API has the full support of [.editorconfig](https://editorconfig.org/) files for [managing code style on a directory level](https://www.jetbrains.com/help/idea/configuring-code-style.html#editorconfig).

### 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]({{ url_for('asset', path='images/reference/whats-new/jetpack-compose.png') }})

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](https://github.com/JetBrains/compose-jb/tree/master/tutorials/Getting_Started).

Read more about Jetpack Compose features in this [blog post](https://blog.jetbrains.com/cross-post/jetpack-compose-for-desktop-milestone-1-released/) and look through the [examples of Compose applications](https://github.com/JetBrains/compose-jb/tree/master/examples).

0 comments on commit 795df51

Please sign in to comment.