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 to
BSP Support for Bazel
The Build Server Protocol (BSP), a protocol initially developed by the Scala Center and JetBrains, enables the easy integration of IDEs and build tools. To give users even more options in the BSP ecosystem, we decided to add support for Bazel. While there is already a Bazel plugin for IntelliJ-based IDEs, it is often not up to date with the latest releases. Bazel BSP, on the other hand, w
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 no
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 p
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
IntelliJScala @ Scala Love in the City
It so happens that this year's Scala Days is Scala Love in the City. The online conference promises to be exciting. It includes some of the most well-known names in the Scala world, with Martin Odersky as a keynote speaker. And the virtual food is amazing ;) If you haven't registered yet, make sure to catch up before February 13. (Registration is virtually free!). The event is lovingly supported
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
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 an
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 Whi
IntelliJ Scala Plugin 2020.2: Indentation-based Brace Handling
Because Scala is a curly-bracket language, adding and removing curly braces is an integral part of Scala programmers' everyday life. Those actions compound, so every improvement in this area matters. To understand the new advances, let us first take a take a look at it from historical perspective (or just watch this). Before At the beginning, there was no IDE assistance, so you had to tinker with
IntelliJ Scala Plugin 2020.2: Auto-import for Implicits
Implicits are magical. But every wizard knows that any sufficiently complex magic requires a good enough magic wand. In the case of implicits, the Scala plugin can work just as well, or maybe even better. You can already use View | Show Implicit Hints (Ctrl + Alt + Shift + "+") to see beyond appearances: The Scala plugin can show you how impicits are derived and where they come from (NB: "a
Harmony @ Scala Love conference
Although we won't have Scala Days this year, the Scala Love conference is all the rage. The technology lets us transcend physical boundaries – we can unite while being far away... well, at least as long as there are tickets left ;) Owing to high demand, the IntelliJ Scala team has volunteered to extend the conference by hosting a third track called Harmony, in addition to the two existing o