This release has been focused on improving Scala 3 support. There are also several new features to help with day-to-day Scala programming. Let’s take a closer look:
Scala 3 support improvements
This release includes many Scala 3 support improvements:
- It is now possible to autocomplete
extensionmethods (to see methods from other objects, press Ctrl+Alt+Space twice).
- The editor offers to import
- New inspections for the
@targetNameannotation can help you maintain a consistent code style.
- We’ve significantly improved the performance of the
.tastyreader, so indexing Scala 3 libraries is now up to twice as fast.
New Scala project wizard
Configuring a new Scala project just got easier! With the updated New Project wizard, you can select a JDK, desired build system, and Scala version for your project in a single step:
Most things in Scala are aliases, including
Map. This affects syntax highlighting, GoTo, Quick Documentation, Quick Definition, Find Usages, Optimize Imports, and other IDE features, because they act on aliases rather than actual definitions. To improve the user experience, the editor now treats aliases in the standard library as transparent exports, so, for example,
scala.collection.immutable.List rather than
Unused declaration inspection
Previously, the detection of unused declarations was limited to private bindings. Now the Unused declaration inspection supports public bindings introduced by classes, methods, variables, parameters, and so on:
Currently, this functionality has to be enabled in the inspection settings (Settings | Editor | Inspections | Scala | General | Unused declaration), but we will enable the feature by default in the bug-fix release.
Scala debugger upgrades
In this release, we’ve made an effort to revamp and streamline the Scala debugger. We’ve upgraded the handling of
objects, primary constructor parameters, value
lazy vals, and collections, in addition to improving expression evaluation:
The IntelliJ Scala plugin team