IntelliJ IDEA 2020.1: Java 14, dataflow analysis assistance in the debugger, LightEdit mode, and more!

IntelliJ IDEA 2020.1, the first major update this year, has just been released! This new version adds support for Java 14 and new features for a number of web and test frameworks. It also upgrades the debugger with dataflow analysis assistance, adds a new LightEdit mode, downloads and configures the JDK for you, and does so many more cool things!

If you’re looking to learn in depth about all the new features in the latest release, head straight to the What’s New in IntelliJ IDEA 2020.1 page on our website. It provides an overview of virtually all new features and enhancements, major and minor, and is easy to navigate with a table of contents.

If you are more of a visual learner and only interested in the release highlights, then check out this video overview of IntelliJ IDEA 2020.1 that we posted a couple of weeks ago:

Finally, if you’re here only for a quick update, these are the major changes in v2020.1 you need to know about:

Java

  • IntelliJ IDEA 2020.1 adds support for Java 14 and its new features. This includes full code insight support for Records, as well as support for Pattern Matching for the instanceof operator.
  • You can now download and set up a JDK build right from the IDE as you create and configure your project, or open an existing project that lacks the required Java version.
  • There are new Java inspections to analyze date-formatting cases and search for additional redundant method calls. The IDE can also report unnecessary escaping characters in string literals and suggest eliminating them.

Editor

  • Use the new LightEdit mode to make quick modifications to standalone files in a text-like editor, without creating or loading an entire project.
  • Quickly rename and edit the parameters of a class or method with the newly added in-place Rename and Change Signature refactorings.
  • The new Code Vision will show you the usages and implementations of Java symbols.
  • The navigation bar now shows you methods in Java classes and interfaces.
  • Zen mode combines Distraction Free Mode with Full Screen Mode, allowing you to eliminate any distractions and focus solely on your source code.

Debugger & Profiler

  • IntelliJ IDEA 2020.1 adds Dataflow Analysis to the JVM debugger. It predicts code execution before the code is actually executed.
  • The new version can open .hprof memory dump files that can help you identify memory leaks and find ways to optimize memory usage.

Version Control

  • The new Commit tool window provides more space for the list of modified files and the diff, and it lets you add changes to a commit when they are ready, and compose a commit message iteratively.
  • The reworked ‘Interactively Rebase from Here’ dialog features a graph showing which actions have been applied, displays commit details, and lets you see a diff so you can review or reset the changes as appropriate.
  • The Branches popup now includes an explicit search field and a reworked Refresh button.

Appearance

  • The recently introduced JetBrains Mono has become the default font in IntelliJ IDEA 2020.1.
  • IntelliJ IDEA 2020.1 features IntelliJ Light – a new default light theme that is now unified across the different operating systems.

Frameworks and tools (Ultimate)

  • The HTTP client can correctly autocomplete path variables and URL paths, and it can get you to the related endpoints right from the HTTP request files.
  • Spring WebFlux: the IDE now works properly with the Rendering API, so code autocompletion and navigating to the related views, as well as other code insight features, are now available.
  • IntelliJ IDEA 2020.1 Ultimate introduces initial support for Selenium, a popular framework for testing web applications, through the new Selenium UI Automation Testing plugin.
  • IntelliJ IDEA 2020.1 comes with a full set of code insight features for JMS and Spring Messaging APIs for both Java and Kotlin applications.
  • Micronaut support has been extended to add automatic completion for parameters in configuration files, as well as navigation and quick documentation.
  • IntelliJ IDEA 2020.1 augments RxJava support by adding a number of useful inspections.
  • You can now create new Quarkus and MicroProfile projects directly through the New Project wizard, which will walk you through the initial configuration.
  • There are now injections for R2DBC, Vert.x SQL Clients, Apache Spark SQL, and Apache DB Utils, among others.
  • IntelliJ IDEA 2020.1 is integrated with Swagger Codegen – a powerful tool for generating server stubs, API clients, and documentation that supports a vast range of programming languages.
  • The new version also adds support for openapi/swagger specifications.

Docker & Kubernetes

  • We have reworked our UI and removed the modal dialog to help you more easily pull images from a Docker registry.
  • You can now update a Kubernetes cluster to match a state defined in your local files, by invoking the “Apply” command right from the editor gutter.

The new version also adds improvements for Scala, JavaScript, and other technologies. There are also many minor but neat features, such as split terminal sessions, quick type definitions, storing run configurations as files, and even more.

If any of these changes have piqued your interest, get the full story on the What’s New in IntelliJ IDEA 2020.1 webpage.

For even more details and all the tickets we’ve closed for 2020.1, check out the release notes.

We hope you enjoy the new IntelliJ IDEA 2020.1, and we are eager to hear your feedback!

Should you encounter any issues, please report them to our bug tracker.

To get the new IntelliJ IDEA 2020.1, simply check for updates in the IDE (IntelliJ IDEA | Check for Updates), use the Toolbox App, or download the new version directly from the website.

Happy Developing!

This entry was posted in Releases and tagged , . Bookmark the permalink.

79 Responses to IntelliJ IDEA 2020.1: Java 14, dataflow analysis assistance in the debugger, LightEdit mode, and more!

  1. Jamie says:

    Nice update! Will there also be Code Vision support for Kotlin in the future?

  2. xxx says:

    New rebase dialog is terrible. Previous list of commits was much more readable (2019 version).
    Moreover arrow ‘pick’ (Alt+P) suggests ‘rollback previous action’, not picking.
    The only improvement is code viewer, but I think it is not easy to browse code during rebasing (too small window). One should prepare list of commits and then rebase them.

    • Dmitriy Smirnov says:

      >Previous list of commits was much more readable

      You can right-click the list and call View Git Commands to see what exact commands will be called.

      The dialog shows the resulting graph though, which shows what the log will look like after the rebase. We believe it adds more clarity than just a list of commands.

      > arrow ‘pick’ (Alt+P) suggests ‘rollback previous action’, not picking.

      Pick is the initial state of all commits when rebase dialog is opened. All commits are picked if nothing is changed, and the pick command in such UI is only needed to reset the other command applied to commit. In this regard, Rollback fits.

      I submitted https://youtrack.jetbrains.com/issue/IDEA-237611 to discuss anyway.

  3. Ian says:

    Was looking forward to this guys & the upgrade option just appear in 2019.3 2 hours back so i upgraded (had 10 minutes) to spare – 2 hard freezes in 1 hour – first one i had to kill in activity monitor, 2nd came back as i left (after 3 minutes) – upp’ed the heap size to 4096m after first freeze (from 2048). I did have a 10MB text file open but that was never an issue before this release

    Hard freeze=Activity monitor saying ‘not responding’ at all

    In addition the compile in Intellij now fails (worked in 2019.3) – Gradle compiles all my sources fine, however intellij fails in the compile due to mismatched jar files (2 versions of the same velocity jar file, intellij now takes the wrong version)

    Rolling back due to current business pressures.. Best of luck guys – will try again after a few patch releases!

  4. David Kron says:

    We have some legacy projects using gradle version 2.x to which intellij responds with an error that it is not compatible with jdk 11. Previously we used the “Choose Runtime” Plugin to run IntelliJ on JDK8. This doesn’t seems to work with 2020.1 as during startup the following error is shown:

    JDK Required
    Cannot load a JDK class: com.sun.jdi.Field

    Is there some workaround for this?

  5. Gabriel Voigt Leandro says:

    I can’t open my projects!!!! >(

  6. Max says:

    Since I upgraded 2019.3 to 2020.1, I can no longer open Intellij… A popup windows appears with the following message:

    “JDK Required
    Cannot load a JDK class: com.sun.jdi.Field
    Please ensure you run the IDE on JDK rather than JRE”

    But my project was set up on JDK8.. And now, even though I set environment variable JDK_HOME, JAVA_HOME, PATH to point to the JDK installation location, it still does not work..

    Please, do you have a solution or workaround for this ?

    Best regards.

  7. Maxim Buzdalov says:

    It appears that 2020.1 no longer runs properly on Java 8. While the core may still behave properly, many plugins such as the Scala plugin, appear to be compiled by JDK 11 and fail with cryptic messages.

    Yet another thing that IDEA now silently assumes that JFX is here by default, and if there is none, it throws windows with error messages. Fortunately, it switches back to the original UI in this case, but this could be handled better anyway.

  8. Mit says:

    Unable to open my spring-boot project. Stuck in opening dialogue with “Loading components”

  9. Thomas says:

    Great work! Will there be an update to the Advanced Code Folding plugin? Currently it isn’t supported by 2020.1

  10. Trybel says:

    After updating to the new 2020.1 version IntelliJ Idea does not open. Popup window appears.
    JDK Required
    Cannot load a JDK class: com.sun.jdi.Field

    Is there some official tips to fix this issue?

    Thanks. Regards.

  11. Abdenour Bali says:

    It looks nice, but somehow slower and keeps saying not responsive on mac, this splash when you type is horrible, please get rid of it, or it’s possible to deactivate it?
    It looks like a rushed release

  12. Michael says:

    The key bindings seem to have changed! Shortcut keys that used to work no longer do. I have the key bindings set to visual studio…why where they changed? For example go to implementation changed.

  13. Roland says:

    Nice release!

    The option to “pre-render” documentation in the code is a good idea, but IMHO the mechanics of this feature could be improved: this should work like (un)collapsing code blocks, i.e. it should be possible to toggle this for individual comments by moving the cursor inside etc.

  14. Andy says:

    Nice.

    Bit still no support for Lombok out of the box. The issue is open for 10 years now.

    Could you please consider adding out of the box support for Lombok? It is a widely used library and you do support stuff that is far more exotic than Lombok.

    • Dmitry Jemerov says:

      Unlike the other stuff we do support, Lombok has an actively maintained and good-quality third-party plugin. We prefer to invest our efforts into places where third-party support is not available.

      Because of that, we don’t currently have any plans to support Lombok out of the box.

  15. Mad Tech says:

    The 2020.1 release is shit. It has rendered all my Elixir projects unopenable, so I have reverted to the latest 2019 version.

    Honestly, IDEA makes me so insane. It’s a *huge* memory and CPU hog, and like Microsoft Word and Excel, each new release doesn’t really add useful features as much as it seems to just increase the bloat (seriously, do we need Steve Wozniak to mastermind a way to get this program down to a reasonable size?).

    IntelliJ’s support is near nonexistent for any practical purpose — my bug reports and feature requests have never gotten any serious attention (for years), and every “update” brings with it the same number of problems as the last. Why is it that even when you’re not doing Java, somehow, when you use IDEA, you are always dealing with Java? And when the editor has no idea how to handle a folder that might contain scripts in more than one language, it’s a “feature” and never a bug?

    I have such a love/hate relationship with IDEA that half the time I spend wondering if I should just beef up on my key bindings and head back to Vim or Emacs.

    Very frustrated…

    • Artem Sarkisov says:

      Hi there. We are sorry you’re disappointed with the product. Let me try and help you out with your issues one by one.

      It has rendered all my Elixir projects unopenable, so I have reverted to the latest 2019 version.

      JetBrains doesn’t provide any official support for Elixir, so I guess you are using a 3-party plugin, that was incompatible with IntelliJ IDEA v2020.1 at the time. Now it should work according to the plugin’s release notes, see more https://plugins.jetbrains.com/plugin/7522-elixir

      do we need Steve Wozniak to mastermind a way to get this program down to a reasonable size?

      It does take a lot of time and effort, but we are working on it. Unfortunately, v2020.1 does not provide any improvements in this regard, but v2020.2 should.

      IntelliJ’s support is near nonexistent for any practical purpose — my bug reports and feature requests have never gotten any serious attention (for years), and every “update” brings with it the same number of problems as the last.

      Do you think you can provide the links to the issues you are talking about? Then I’ll try and provide feedback on their state.

      Why is it that even when you’re not doing Java, somehow, when you use IDEA, you are always dealing with Java?

      If you mean you’re facing Java exceptions in the event log, then the answer is that IJ IDEA is written in Java, which is why you end up seeing some Java exceptions. If you mean something else, please provide more details so that I can try and help.

      And when the editor has no idea how to handle a folder that might contain scripts in more than one language, it’s a “feature” and never a bug?

      Do you mean you can’t navigate to a specific directory from the editor? Could you provide some details here as well?

  16. BB says:

    3 crashes in 15 min on a newly re-imported maven project, going back to 2019.

  17. cristian says:

    I have tried new View | Appearance | Navigation Bar showing methods of a class (2020.1). It works fine using java. In Kotlin is not showing functions. Would it be available to use this feature using Kotlin in the future?

    Best regards for IntelliJ team!!!

  18. Carsten says:

    All my projects didn’t open after the update.
    Looking at the idea.log, the IDETalk plugin was the problem
    (“java.lang.ClassNotFoundException: jetbrains.communicator.commands.DeleteCommand PluginClassLoader[IDETalk, 201.6668.60]”) – the plugin was not shown as incompatible though (in contrast to the Lombok plugin for example).

    Deactivating the plugin solved the issue.

  19. Martin says:

    Anyone know how to remove the yellow bar at the top with the project name?

  20. Volker says:

    I don’t like the new default font. What was the name of the old font?

    • Anna says:

      This comment, and its answer, saved me!

      • Anna says:

        Actually it didn’t save me. I had to go back to 2019.3.4.

        There are really many things working differently than before, and some are not working.

        I am a Mac user. The update changed my specific maven to a default one and the auto-import was not possible to turn back on.
        Some classes were not being found, even though I cleared local maven repo and reinstalled – the new version has problems with properly applying dependencies.
        Did you notice also that 2020.1 version with the previous setting for font Menlo, was not really applying previous Menlo?
        Also that font, even though it should be monospace, was not anymore monospace (for example it was glueing “fi” 2 chars into one char). Really disappointing change! I wish there was exactly 0 changes to current fonts/their sizes/weight in future versions.
        Also in command line there started to appear meaningless clickable links in place of regular text (?).

        Well, that ate few hours. At least with old version I’m back on track

  21. Gary Halcon says:

    2020.1 seems to work fine on Linux so far.

    A problem I am experiencing is the “Find in path” [Ctrl + Shift + F]. Did the behavior change? I am searching for a word in my project. The results in the popup does not appear to show everything. The word I am searching for is present in a class of the same package and yet it does not appear in the results.

  22. Josh says:

    Is it possible to show the directory name you are in again in the top menu bar alongside the file name?

    • Ekaterina.Valeeva says:

      Please open IDE Registry (Ctrl+Shift+A or Shift-Shift > Actions, type “Registry”), in the registry window type ide.borderless.title.project.path (ide.borderless.title.classpath) and try enabling one of these options.

      • Georgi says:

        Hi,
        That didn’t worked out, unfortunately. I set those options in the registry, but the absolute path of the currently opened file is still not shown in the title bar, as it is in version 2019.X of IntelliJ IDE.

  23. Dervol says:

    Unfortunately, the new commit panel does not automatically add issue information, like issue ID and summary.

  24. JN says:

    After updating to 2020.1 *every* plug-in installed via marketplace is causing IntelliJ to crash when it starts. As a result I get the “Welcome to IntelliJ”-screen.
    The only chance I got to work with IntelliJ is to disable the plug-ins. My installed plug-ins were Maven-Helper and “.ignore”.
    Even when I download the plug-ins via marketplace in IntelliJ2020.1 it crashes immediately when I “enable” a fresh-downloaded and installed plug-in.

  25. David Schmidt says:

    “Import Maven projects automatically” is missing somehow

    • David Schmidt says:

      Oh wow it’S not a bug, it’s a feature. I found this:
      Maven and Gradle importing updates
      Instead of the old auto-import, there’s now a floating notification in the upper-right part of the editor.
      So having to click manually instead of the ide doing its job is a feature? And there is no option to restore the better behavior?

      It gets even better: when IntelliJ IDEA detects any changes to the build file made outside the IDE, such as VCS updates, it reloads the related projects automatically.

      So you I should leave the IDE for old, for automatic imports?

  26. Mehul Kumar Parmar says:

    What is this font used in the video? It doesn’t look like JetBrains Mono. I am using Windows 10.

  27. Kermie de Frog says:

    Android, Gradle, attached debugging…
    in order for 2020.1 to attach to a remote android processing instance I have to do a rebuild of my android app using gradle first … nothing in the logs – how do I enable debug level for IntJ logs …
    This happens each and everytime I have to (re)start IntJ …
    Also, quite often the debug attach dialog will not have a list of android processes, which means I have to restart, which then means I have to rebuild the app before I can debug remotely on android again …

Leave a Reply

Your email address will not be published. Required fields are marked *