IntelliJ Scala Plugin 2023.1 Is Out!
Improved support for braceless Scala syntax IntelliJ IDEA can now desugar braceless Scala code properly, and it handles refactorings where the “fewer braces” feature is used. It also supports braceless syntax in worksheets and correctly interprets indentation when you move extensions methods up and down in your code. The indentation of the extension method is carried over correctly Streamlined import management If you use compiler-based highlighting, until now all imports have been marked as used. Scala 3.3, however, introduced a new compiler option, -Wunused:imports. The IDE c
IntelliJ Scala Plugin 2022.3 Is Out!
This release has been again focused on Scala 3, but there are also quite a few other improvements. Better Scala 3 support In v2022.3, we’ve introduced a large number of upgrades to provide better Scala 3 support. The IDE now supports parameter untupling and quoted patterns, and it features many improvements to the support for match types and type variables. There is now type inference for type variables, and they are parsed correctly for pattern-matching purposes. Named arguments in the trait constructor are now correctly handled, and you can use an action to quickly create a Scala 3 enu
IntelliJ Scala Plugin 2022.2 Is Out!
This release has been again focused on improving Scala 3 support, but there are also a few other improvements. Better Scala 3 support As of v.2022.2, IntelliJ IDEA can read match types from .tasty files, properly parse them, resolve type variables, use them as type arguments, support inspections, and show types as text. On top of that, we’ve added support for Option-less extractors, type lambdas and polymorphic function types, type-level compiler intrinsics, and ? as a wildcard together with _ in Scala 2.13.9 and 2.12.16. Copy-pasted code is also now properly indented. Compiler
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 i
IntelliJ Scala Plugin 2021.3 Is Out!
This release brings more improvements to 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. Open cross-compiled projects as Scala 2 3. Data flow analysis for Scala 4. Autocomplete for Scala compiler options 5. Inlay hints for ranges Scala 3 support improvements Our main focus in this release has been Scala 3 support: We've added highlighting, navigation, and autocompletion for end markers. Autocompletion is now provided for the given, using, and export keywords, soft keywords, and th
Dataflow Analysis for Scala
One of the things IntelliJ IDEA is most famous for is its huge variety of helpful inspections and warnings. They make the lives of programmers significantly easier, frequently showing them errors in logic or style that they wouldn’t have noticed otherwise. Those inspections come in various shapes and sizes, ranging from simple pattern searches to highly sophisticated inspections that require tons of complex static code analysis behind the scenes. Among the most advanced examples of the latter are those offered with the help of dataflow analysis. These inspections have been available for
IntelliJ Scala Plugin 2021.2 Is Out!
This release has been focused on significantly improving our plugin’s Scala 3 support. There are also several new features, including a Package Search integration and optional compiler-based error highlighting. Better Scala 3 support Indexing of Scala 3 libraries is now fast, precise, and version-agnostic. You can now create both sbt and .idea-based Scala 3 projects, and create Scala 3 SDKs the normal way: The editor can handle significant indentation better: There are improvements in the debugger, formatter, REPL, auto-import, enums, extension methods, and many other areas: That said, p
IntelliJ Scala Plugin 2021.2 EAP: Package Search Integration
Package Search is a service developed by JetBrains that supports searching for libraries from multiple repositories such as Maven Central, Google Maven, and others. Since its introduction at the end of 2019, the Package Search plugin has made searching for and managing dependencies for Maven and Gradle projects more convenient. Starting with the Scala plugin 2021.2 release, the Package Search plugin features will also be available for sbt projects. In addition, the Package Search APIs are integrated to help users manage library dependencies directly from the IntelliJ IDEA editor. From th
IntelliJ Scala Plugin 2021.1 Is Out!
With this major version, we've focused primarily on the performance and overall quality of the plugin. We’ve still added a number of new features to help with day-to-day Scala programming. Let's take a closer look. 1. Kinds in type diffs 2. Machine learning completion 3. Phases and units in compilation charts 4. Scala 3.0.0-RC2 support 5. IntelliJ Platform plugin template 6. And more! Kinds in type diffs Scala developers don't always use higher-kinded types, but when they do, they like to do it with style. The type diff tooltip now supports kinds: Bec
IntelliJ Scala Plugin 2020.3 Is Out!
Most releases are focused on editor features, but the stars of this show are parallel compilation and compilation charts. We also have a handful of editor goodies in store. Let's take a closer look. 1. Parallel Compilation 2. Compilation Charts 3. Enhanced Package Prefixes 4. MUnit Support 5. Scala 3 Improvements 6. And more! Parallel Compilation According to the official Scala Developer Survey, long compilation times is the main pain point in Scala programmers' daily workflows by a large margin. Although speeding up the Scala compiler is a worthy goal
Enhanced Package Prefixes
What happens when you combine one obscure IntelliJ IDEA feature with two obscure Scala features? If you choose the right ones, their obscurities just might cancel each other out, so that instead making everything far more opaque you can get an intuitive and internally consistent system. Let's see how the upcoming version of the Scala plugin combines package prefixes with chained package clauses and relative imports. The problem with packages Both Java and Scala use reverse domain name notation for packages. According to the Scala Style Guide, you should write package org.example.application ra
IntelliJ Scala Plugin 2020.2 is released!
In addition to incremental improvements, this release brings a large number of essential new features to help with day to day Scala programming: 1. Auto-import for implicits 2. Indentation-based brace handling 3. First-class companions 4. Auto-import for object members 5. In-editor Scaladoc rendering 6. Completion improvements Auto-import for implicits While you can use View | Show Implicit Hints to display implicits (even absent ones), importing an implicit was never an easy task. The new Auto-import for implicits action works exactly like Auto-import