
The annual JetBrains KotlinConf is in progress in Copenhagen, with news including the first official LSP (Language Server Protocol) extension for Visual Studio Code (VS Code) as well as a look ahead at new features coming to the Kotlin programming language.

JetBrains is a tools vendor and has faced a dilemma regarding a Kotlin LSP: providing one may weaken the appeal of its own IDEs, but not providing one may limit take-up of Kotlin because of the popularity of VS Code and its various forks.
The company has its own language API for IntelliJ-based IDEs, which it argues is superior to the Microsoft-developed LSP. However, LSP is the closest thing to an industry standard, with newer IDEs such as the Rust-based Zed using it for wide programming language support.
Currently the extension is designated pre-alpha and must be downloaded from GitHub as it is not yet in the VS Code marketplace. It uses the permissive Apache 2.0 open-source license, though the readme states that “currently, the LSP implementation is partially closed-source, primarily for the sake of development speed convenience.” The issue is that the extension reuses parts of what JetBrains calls its “internal infrastructure;” but the plan is to decouple this in future so that the LSP extension will be fully open source.
There are a number of limitations in the initial release, including support limited to JVM-only Kotlin Gradle projects. Features include semantic highlighting, code navigation, code inspection and quick fixes, refactoring including rename and move, code formatting, and code completion.
The extension is not yet production-ready and is provided for use in “toy projects, to experiment with it and provide your feedback.”
Community feedback is generally positive. “This is huge for the Kotlin community and will hopefully boost the popularity of the language,” said a developer on Reddit.
Soon after Kotlin was first announced in 2011, JetBrains stated that “we expect Kotlin to drive the sales of IntelliJ IDEA,” a fact noticed by a developer on Hacker News. This may remain true, in that JetBrains IDEs are likely to provide the best Kotlin support, but may explain the long delay in providing an official LSP extension.
At KotlinConf, JetBrains also previewed new language features for Kotlin. Kotlin 2.2 is now a release candidate and includes guard conditions in when expressions, non-local break and continue, and multi-dollar interpolation. These new features are described in the release notes for Kotlin 2.1, where they were experimental, but will be stable in Kotlin 2.2. In Kotlin Multiplatform, an experimental release of Swift Export is promised for Kotlin 2.2.20.
Coming in future versions are features including positional and name-based destructuring (creating multiple variables from an object); enhanced nullability; rich errors; must-use return values and a CheckReturnValue annotation.