github Kotlin/kotlin-lsp kotlin-lsp/v263.4702.0
v263.4702.0

4 hours ago

v263.4702.0

Changelog

Note

"Kotlin by JetBrains" is now on the Open VSX Registry.
You can install it in Cursor, VSCodium, and other VS Code forks.

JetBrains also released "Java and Kotlin by IntelliJ IDEA", which supports both languages.
If you install it while "Kotlin by JetBrains" is present, it offers to remove this extension.
This is expected. Two language servers must not run at the same time.

Find out more at https://www.jetbrains.com/help/intellij-vscode/About-instance.html.

Important

When the extension first starts, it now asks you to choose a Region and a Data Sharing option.
The language server does not start until you choose both.
You can change them later in the VS Code settings.

🛠 LSP capabilities

  • Most of the Kotlin intentions from the IntelliJ Kotlin plugin are now available in Kotlin LSP.
  • Code lenses above a Kotlin main function now let you run or debug it.
  • "Organize Imports" is now available as a Source Action.
  • Live template completion now works in Kotlin (e.g. main, sout, or if).
  • You can now move Kotlin files while preserving correct imports and references in other files.
    • Moving entire folders is not supported yet.
  • Workspace symbol search now finds symbols in libraries.
  • A new status bar widget shows the server state and lets you restart the server.

🐞 Run & Debug

  • The extension reads launch.json, and it can launch a JVM application.
  • Completion works in the debug console. Evaluation no longer stops at "Collecting Data".

📦 Import & build systems

  • You can now import more than one project from a single workspace. The intellij.projects setting
    lists each project with its build system and its path. This covers a monorepo, and a directory
    that holds several independent projects. Find out more at
    https://www.jetbrains.com/help/intellij-vscode/Project-import.html.
  • The workspace now reloads automatically when you edit and save a build script. A new setting controls the reload.
    It can reload always, ask first, or never reload. New commands are also added: "Reimport
    Project" and "Clear Caches and Restart".
  • Gradle sync now downloads the library sources by default. This makes source lookup work in a
    library. The first sync takes more time.
  • The server uses the Gradle Tooling API 9.5.0.
  • Gradle import uses the JRE of the language server when JAVA_HOME is not set. Maven import now
    honors the java-home entry of the intellij.projects setting.
  • Maven: the importer honors the compiler arguments, and the spurious jar warnings are gone.
    Maven import works on Windows.
  • Better import of a multi-root workspace. The extension also tells you when the project root
    holds more than one build system.
  • Indexing now reports the progress as a percentage.
  • Build tool output goes to a separate VS Code output channel.
  • The extension now activates automatically when there is a build file somewhere in the project.

⌨️ Editor / typing

  • More Enter-key fixes in a string template. Pressing Enter no longer inserts an incorrect string
    concatenation.
  • "Toggle line comment" action works again.

🚀 Performance

  • Faster indexing, and fewer stalls during and after the project import.
    The local inspections also run faster.

🐛 Bug fixes

  • Import of an Android Gradle project no longer fails with a ClassCastException. Fixes
    #243.
  • Windows: the analyzer database moved from the roaming profile to %LOCALAPPDATA%. Fixes #215.
  • The server now closes the OS file handles for the JAR files it opens.
  • The server uses the proxy settings of VS Code.
  • Many other small improvements and bug fixes.

Don't miss a new kotlin-lsp release

NewReleases is sending notifications on new releases.