Early Access Program

IntelliJ IDEA 2020.1 EAP3: Improvements for Spring and RxJava

IntelliJ IDEA 2020.1 EAP was updated
today. The new EAP upgrades IntelliJ IDEA Ultimate with new goodies for Spring and RxJava, and adds other improvements. Read on for the details.

Spring improvements

Request mappings for Spring WebFlux

IntelliJ IDEA 2020.1 adds request mappings for Spring WebFlux. If you have a WebFlux application with Actuator enabled, you can access the mappings in the Run tool window to easily monitor and interact with your application:

Note that you can also interact with the mappings from the Console view as long as you set logging.level.web=TRACE in your applications.properties file:

Improved support for Spring Profiles

Previously, IntelliJ IDEA treated Spring profile expressions, introduced in Spring 5.1, simply as strings. Starting with v2020.1, the IDE distinguishes one profile from another in an expression, and allows you to apply smart actions to them, such as finding usages (Alt+F7) and renaming (Shift+F6):

We’ve also updated the Change Active Spring Profiles popup to eliminate some usability issues and enable you to autocomplete existing profiles:

Inspections for RxJava

V2020.1 augments its support for RxJava with a number of useful inspections. For instance, the IDE will point out any unused publishers for you, and it will let you know when a lambda returns a null:

The IDE now highlights thread-blocking method calls and navigates you to the source of the problem with an action called Find cause:

Some other inspections also have corresponding quick-fixes. For instance, if you are throwing an exception directly in an operator, the IDE will suggest handling it properly:

Likewise, you will discover an inspection for a long chain of filters, with a quick-fix that reduces the possible performance overhead:

Bundled Grazie spell checker

Grazie is a comprehensive spelling, grammar, and style checking tool. Now, it’s been updated and is bundled with IntelliJ IDEA. The new version is better at detecting natural languages and is more robust overall.

Note that by default, Grazie checks only text files. To make it check other files, such as javadocs, enable checking Java files in Preferences / Settings | Editor | Proofread | Grammar.

Read more about Grazie in this post.

Check out the full release notes for the full list of closed tickets in this EAP build.

That’s about it. We’ll keep publishing the EAP builds for v2020.1 with more fixes and improvements each week, so stay tuned.

Happy Developing!

Comments below can no longer be edited.

7 Responses to IntelliJ IDEA 2020.1 EAP3: Improvements for Spring and RxJava

  1. Avatar

    Daniele says:

    February 6, 2020

    I’ve had problems since the first build of 2020.1. In particular, once it has finished indexing the editor it is unusable due to a very high input lag (I use windows). Is there anything I can do?

    • Avatar

      Artem Sarkisov says:

      February 6, 2020

      Hi Daniele!

      Please submit an issue to our bug tracker (https://youtrack.jetbrains.com/issues/IDEA) and attach your idea.log file (Help | Show Log in…) after you reproduce the bug. Please also describe the steps to reproduce the issue and a little code sample or a sample project if possible. Thank you and sorry for the inconvenience.

    • Avatar

      Joe says:

      February 6, 2020

      I have noticed this as well.

  2. Avatar

    Ward Lootens says:

    February 7, 2020

    The git log tab now places the diff preview to the bottom instead of to the right,
    I think this is very inconvenient,
    One of the reasons I *loved* the VCS integration was that it allowed me to inspect git history in a very compact view…

    Any chance this will change again or will become configurable?

  3. Avatar

    Wim Deblauwe says:

    February 7, 2020

    Will the spring profiles support also work if you use constants for it?

    I usually have a `SpringProfiles` class with some constants like:

    public static final String PROD = “prod”;
    public static final String DEV = “dev”;

    • Avatar

      Konstantin Aleev says:

      February 17, 2020

      Hello, Wim! Profiles defined via constants are partially supported. Such profiles aren’t listed in completion variants in ‘Change Active Spring Profiles’ dialog. However you can still fill in such profile in the ‘Profiles’ text field , it will be correctly processed by IntelliJ IDEA. For instance, you can open Beans tab in Spring tool window and select a context for which you specified the profile. Beans will be listed according to their profiles and to the active profile. For further updates regarding this feature please follow the issue: https://youtrack.jetbrains.com/issue/IDEA-233173

Discover more