Releases Scala Scala programming

IntelliJ Scala Plugin 2022.1 Is Out!

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:

1. Scala 3 support improvements
2. New Scala project wizard
3. Alias exports
4. Unused declaration inspection
5. Scala debugger upgrades

Scala 3 support improvements

This release includes many Scala 3 support improvements:

  • It is now possible to autocomplete extension methods (to see methods from other objects, press Ctrl+Alt+Space twice).
  • The editor offers to import extension methods and given instances automatically.
  • New inspections for the infix modifier and @targetName annotation can help you maintain a consistent code style.
  • We’ve significantly improved the performance of the .tasty reader, 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:

Alias exports

Most things in Scala are aliases, including String, Seq, List, Set, and 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, List implies scala.collection.immutable.List rather than scala.List:

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 classes, Arrays, lazy vals, and collections, in addition to improving expression evaluation:

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