github Kotlin/kotlin-lsp kotlin-lsp/v271.2085.0
v271.2085.0

2 hours ago

v271.2085.0

Changelog

🛠 LSP capabilities

  • The type hierarchy (supertypes and subtypes) is now available for Kotlin. Fixes #197.
  • More Kotlin quick fixes are available, for example "Rename identifier", "Convert object literal to lambda", "Remove inner modifier" and "Remove annotation argument".
  • An inspection warning now offers code actions that suppress it for a statement, a function or a class.
  • Quick fixes show their full names instead of their general family names.
  • Named arguments and labels get their own semantic highlighting.
  • The outline and the breadcrumbs show the signatures of Kotlin functions and properties.
  • Go to Definition returns the range of the symbol under the cursor, so Ctrl/Cmd+hover underlines the full name.
  • Renaming or moving a package now creates a missing destination directory.

📦 Import & build systems

  • Kotlin Multiplatform Gradle projects are now imported, with the common and platform source sets and the KMP libraries. Fixes #3.
  • Gradle and Maven import honor JAVA_HOME.
  • Gradle and Maven import mark the build output directories as generated sources.
  • Maven import finds the Kotlin source directories when the execution has the id kotlin-compile.
  • JPS import supports the package prefix of a source root.
  • The server uses the Gradle Tooling API 9.8.0.
  • The workspace import finishes after a VCS update.

🐞 Run & Debug

  • You can now run and debug JUnit and TestNG tests from code lenses and from the VS Code Test Explorer. Fixes #35.
  • The java.test.config setting sets the VM options, the environment, the working directory and the JUnit tags of the test JVM.
  • Stepping skips JDK classes, synthetic methods and Kotlin internals by default. The new stepFilters launch option changes this.
  • The call stack keeps the frames of suspend functions, and labels the async and hidden frames.
  • The call stack loads faster.
  • The Variables view shows top-level properties and static members, and shows large collections page by page.
  • A debugger hover evaluates the expression at the mouse position.
  • The debugger handles cancel requests, and a closed connection no longer leaves requests without an answer.

🚀 Performance

  • Kotlin analysis no longer stalls other requests when the server is low on memory.
  • Faster message handling, library source indexing and workspace symbol search, with lower memory use.
  • Quick fixes send only the changed text, not the whole file.

🐛 Bug fixes

  • Diagnostics and quick fixes no longer disappear after an inspection restart or a file change on disk.
  • The highlighting is no longer stale after Git changes an open file.
  • The debug console evaluates an expression with side effects again on each run.
  • The Variables view shows the new value after "Set Value".
  • Disabling a breakpoint after a hit no longer disables the dependent breakpoints.
  • A line breakpoint can no longer be set on a field declaration.
  • "Extract variable" no longer logs a read access error.
  • Reinstalling, restarting or updating the extension no longer leaves an extra or outdated server.
  • On Windows, the server no longer needs the Visual C++ Redistributable package.
  • Many other small improvements and bug fixes.

Don't miss a new kotlin-lsp release

NewReleases is sending notifications on new releases.