v271.2085.0
-
🧪 "Kotlin by JetBrains" extension v0.0.86 for VS Code
Includes Kotlin Language Server bundled for use with Visual Studio Code.
The extension is also available on the VS Code Marketplace and OpenVSX Registry.
-
🗂️ Standalone Kotlin LSP Archive
Standalone Kotlin Language Server version for editors other than VS Code.
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
innermodifier" 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.configsetting 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
stepFilterslaunch 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.