Scala Plugin
Scala Plugin for IntelliJ IDEA and Android Studio
IntelliJ Scala Plugin 2026.1 Is Out!
Since the 2025.3 release in December 2025, we’ve published three minor releases: 2025.3.26, 2025.3.28, and 2025.3.30. We’ve also published blog posts about our support for Scala 3.8, Markdown in the new Scaladoc, as well as an update to the article about the new sbt module layout. We plan to publish at least two more posts soon, about the support for projects in virtualized environments, and about incremental highlighting. Keep an eye on the cross-links, especially if you come back to this article in a month or two.
Build tool support
Faster project sync times
In this release, we optimized project import times for large numbers of modules, both for sbt shell and regular sbt projects. We’ll share more details in a dedicated blog post soon.
BSP connection file
We fixed BSP connection file regeneration for Scala CLI and Mill. The BSP connection file for these build tools is now regenerated before each BSP server startup. You can disable this in the settings. We also fixed the BSP connection file action for Scala CLI and Mill, and the sbt shell no longer hangs if there is a problem loading the project definition.
bspEnabled flag support and other improvements
We have also addressed several other issues:
- The
bspEnabledflag was originally used to disable importing a project or configuration via BSP. However, this resulted in inconsistencies between BSP and regular sbt imports. As of 2026.1, the Scala plugin respects thebspEnabledflag in regular sbt imports as well, ensuring consistent behavior in both scenarios. - sbt 2.0 requires JDK 17 or later. The Scala plugin now handles this similarly to Scala 3.8: It displays a warning in the New Project wizard if you choose sbt 2.0 with an older JDK, as well as when importing an sbt 2.0 project while using an older JDK.
- We also fixed the issue where the IDE froze on macOS during the creation of a new Scala CLI project.

Support for projects in Dev Containers and WSL
With the 2026.1 release, Scala projects are now supported in virtualized environments such as WSL and Dev Containers (Docker).
Previously, developing these projects was not possible due to issues with accessing and handling files within the container. To fix this, we rewrote all the code related to file handling and OS processes. Now, all Scala plugin features, including building, testing, debugging, and worksheets, work in virtualized environments just as they do in regular local projects. We are still working on BSP support. We’ll let you know as soon as it is ready.
Unified UI/UX for Scala highlighting mode settings
Settings page for code highlighting
The code highlighting settings in the Scala plugin have been significantly improved. The new Settings page consolidates all the options that were previously spread across multiple locations, making them cleaner, more intuitive, and easier to access. The old Type-aware highlighting widget now shows the current highlighting mode and provides quick access to its settings, where the Type-aware highlighting option is fully integrated. Also, you can now configure settings for Scala 2 and Scala 3 projects separately.
Configurable delay for compiler-based highlighting
You can now configure the compilation delay for compiler-based highlighting, giving you more control over how frequently the compiler runs and helping improve performance.
Incremental highlighting
In 2026.1, we also improved incremental highlighting to further boost the Scala plugin’s performance. It now works in the diff viewer, and its state is stored in user data, providing additional performance optimization.
Some of these changes were also backported to 2025.3 in a minor release.
Scaladoc support
Markdown support
Scaladoc, the documentation tool for Scala, changed significantly in Scala 3. The new version retains the functionality of the old Scaladoc while adding Markdown support. In this release, the Scala plugin supports the new Scaladoc, including Markdown syntax, while maintaining compatibility with the old WikiDoc syntax still used in Scala 2. You can find out more in a recent blog post and YouTube video.
Scaladoc links
Scaladoc has always supported Wikilinks, for example, [[mutable.Buffer]], and this functionality continues in Scala 3. IntelliJ IDEA has long had basic support for these links, allowing you to parse and resolve simple references. However, Scaladoc links use a different syntax and semantics. For example, you can force references with the same name to resolve to classes or objects, escape them with backticks or backslashes, and search packages that normal Scala would not consider. For a complete guide, refer to the documentation.
We’re happy to announce that IntelliJ IDEA 2026.1 supports all of these features in both Scala 3 and Scala 2.
AI Assistant: Next edit suggestions for Scala
Next edit suggestions are now fully supported by the Scala plugin and enabled by default. In Settings | Tools | AI Assistant, Scala now appears on the list of supported programming languages in the Next edit suggestions section.
Scala 3 support
You might be wondering: “Will this be the first release post without any Scala 3 improvements?” Of course not!
We addressed several issues to improve support for Scala 3 language features and syntax, as well as to ensure better compatibility and functionality:
- We fixed issues with universal apply methods that failed in certain cases for
StringBuilderandString, as well as a corner case where they did not work with Java classes. - We improved type inference so it now considers the upper bound of generic types at the definition site, and we fixed problems with overload resolution when alternatives have different numbers of parameter clauses.
- We resolved issues with apply and update extension methods on opaque types, covariance not being respected on type aliases of opaque types, and resolving extension methods on path-dependent types.
- There’s also better support for extension methods in Java.
- Structural Search and Replace now supports the given clauses, and we fixed issues where using and implicit keywords were ignored in Structural Search and Replace parameter clauses.
- And more improvements.
As always, we welcome your feedback. Please report any issues you find in YouTrack. If you have any questions, feel free to ask us on Discord.
Happy developing!
The Scala team at JetBrains