News Releases Scala Scala programming

IntelliJ Scala Plugin 2023.2 Is Out!

Better Scala 3 Support

IntelliJ IDEA 2023.2 brings enhanced Scala 3 support, with a focus on providing a streamlined development experience. Notable improvements include fixes for Scala 3 enum highlighting, navigation to enum definitions, and the correct resolution of enum cases in various contexts. The TASTy decompiler has been significantly enhanced, ensuring accurate decompilation of popular Scala libraries, such as Akka, Cats, Play, ZIO, and others. Additionally, the integration of scala-expression-compiler into the debugger provides a better debugging experience for Scala developers. Other improvements include enhanced completion hints for Scala 3’s Universal Apply Methods, in-editor support for IArray, and improved support for the “fewer braces” syntax.

Better sbt support

This release comes with many improvements to IntelliJ IDEA’s sbt support. Environment variables set for sbt are persisted and handled correctly after the project is reopened. The settings page File | Settings | Build, Execution, Deployment | Build Tools | sbt was redesigned for easier use, and a new Environment variables field was added so that you can now pass custom environment variables to the sbt-shell process.

The settings page for sbt was redesigned

Fixed type inference errors

The new release comes with many fixes to invalid type inference in some complex or just rare cases, such as when types have complicated bounds , when a sealed trait hierarchy might be unclear, or in complex pattern matching.

Type inference for types with complicated bounds

ScalaDoc rendering

Finally, starting from this release, ScalaDoc Quick Documentation becomes more similar to quick documentation in JavaDoc. Annotations, keywords, and literals in the displayed declarations are now highlighted according to the used IntelliJ theme. The list of extended traits/classes is split into many lines if it’s too long to fit in one. Also, the new Scala 3 keywords are supported.

ScalaDoc Quick Documentation becomes more similar to quick documentation in JavaDoc

Zinc as the default compiler

In light of Zinc’s recent performance improvements, we’ve made it the default incremental compiler in v2023.2. This ensures comprehensive support for incremental compilation of new Scala 3 features, including inline methods.

Improved sources and target directories management

Sub-folders of the target folder are no longer included automatically as sources unless they are marked as managed. This speeds up searching in projects that generate source code. Also, the IDE now provides better support for sbt-projectmatrix.

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