Scala Plugin
Scala Plugin for IntelliJ IDEA and Android Studio
IntelliJ Scala Plugin 2025.2 Is Out!
Scala 3 Support
Full support of opaque types
Scala 3.6 introduced a new syntax for context bounds and givens. You can read more about it in SIP-64. In short, before Scala 3.6, it was impossible to name the context bound in the same place where it was defined. The way to do it was to introduce an implicit parameter, which resulted in awkward syntax, e.g. def reduce[A](xs: List[A])(using m: Monoid[A]): A introduced the context bound Monoid[A] as m. In the new syntax, it’s possible to simply write def reduce[A: Monoid as m](xs: List[A]): A and IntelliJ IDEA with the Scala plugin recognizes it and supports it.

Full support of new tuple operations and named tuples
We continue improving our support for named tuples, another important new feature in Scala 3. In Scala Plugin 2025.2, we have substantially improved error highlighting, type resolution, and code completion for named tuples. Additionally, we have introduced support for many new tuples operations and the Scala Plugin now reports errors if there are duplicated field names in a named tuple.

Some of those improvements are also available in the new minor releases for Scala Plugin 2025.1.
Other Scala 3 improvements
In addition, Scala Plugin now supports Referenceable Package Objects, a feature that has been available since Scala 3.7 (SIP-68, also available in Scala Plugin 2025.1.22). We fixed a bug in the new syntax for context bounds and givens (SIP-64), ensuring the Scala Plugin correctly recognizes this syntax in traits. Support for context bounds has been further improved to handle conditionals and type bounds correctly.
Additionally, we have fixed problems related to missing braces in sample code and duplicated content roots errors in Scala 3 compiler projects, as well as a problem with renamed imports when using the -Xsource:3 flag and the scalafmt formatter, and we fixed invalid highlighting when there were using and implicit clauses in the same file.
The new sbt modules layout and the support for generated sources
The new sbt modules layout is now enabled by default. We have resolved many edge cases that we have found since the feature was first released in the Beta stage, e.g. dependency collisions that occurred sometimes. Also, when you import an sbt project, and the selected JDK and sbt versions don’t match, you will see a warning about that.
Generated sbt-managed sources are now correctly regenerated on project sync.
Compiler-Based Highlighting
The new release fixes a few “good code is red” issues in Compiler-Based Highlighting. Fixes include resolving the invalid “Reassignment to val” error that appeared in parameter clauses; a problem where error highlighting was either stuck or missing after the appearance of a code completion popup; and another where an “unresolved symbol” error highlighted the whole chain of references instead of only the reference that was actually unresolved.
Other improvements
We added the “Use indentation-based syntax” setting to the New Project Wizard when the Scala 3 version is used. We also added support for Scala 3 in the New Project Wizard | Play generator (available in 2025.1.25).

If an inferred type uses parentheses, they are now displayed in inlay hints. X-Ray Mode now shows apply calls and name hints for all parameters. We also fixed an issue where using the Command/Control key to trigger X-Ray Mode interfered with other key shortcuts.
In ScalaCLI projects, new files are now picked up without requiring a BSP refresh.
Quick Documentation now shows abstract type member bounds, and we fixed a bug where an incorrect parameter ino was displayed for an unapply method. We fixed an incorrect “Type annotation required for method with ‘return'” method in type annotations and a few issues with type inference. Custom string interpolators with arguments are now recognized and not highlighted as errors. On top of that, we fixed a problem with compilation not being triggered, resulting in stale compilation errors in the editor (available also in 2025.1.25).
As always, your feedback is very welcome. Please report any issues you find to YouTrack. If you have any questions, feel free to ask us on Discord.
Happy developing!
The IntelliJ Scala Plugin team