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

Artem Sarkisov

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!

Comments below can no longer be edited.

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

  1. Jamie says:

    April 9, 2020

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

  2. xxx says:

    April 9, 2020

    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:

      April 14, 2020

      >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:

    April 9, 2020

    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!

    • Andrey Dernov says:

      April 14, 2020

      Really sorry for these issues. If you have time we would much appreciate if you could zip logs from 2020.1 version (https://www.jetbrains.com/help/idea/2020.1/tuning-the-ide.html#logs-directory) and send them to take a look via the https://intellij-support.jetbrains.com/hc/en-us/requests/new request. Thank you and sorry again for troubles.

      • Ian says:

        April 17, 2020

        @Andrey – will do. The last few weeks have been manic for me due to covid & new business challenges so have had zero time to look further into the new release but will try & get time this weekend to get to the bottom of those 2 issues. Will also see if my setup in any way comes into play in causing the issues & will report them formally.

        Keep up the excellent work guys -Intellij is getting smarter & better with each release so thanks for your continued efforts!!

  4. David Kron says:

    April 9, 2020

    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?

    • Andrey Dernov says:

      April 14, 2020

      Indeed the 1.8 JDK is not provided now and IDE may not work on it. Are you on Windows? Please see https://youtrack.jetbrains.com/issue/IDEA-237220 – some users report that running IDE via .bat file helps.

  5. Gabriel Voigt Leandro says:

    April 9, 2020

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

    • Artem Sarkisov says:

      April 14, 2020

      Could you please provide any details? Do you get any errors when trying to open a project in v.2020.1?

  6. Max says:

    April 9, 2020

    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.

    • John says:

      April 9, 2020

      I am experiencing the same issue. I have also tried to change my environment variables, but with no luck.

    • John says:

      April 9, 2020

      I found a workaround to this issue:

      1. Download the JetBrains jdk from https://bintray.com/jetbrains/intellij-jbr/jbrsdk11-windows-x64/765.30#files
      2. Create a IDEA_JDK_64 environment variable pointing to the address of the file in your directory (eg. C:\{path to file}\jbr
      3. Place %IDEA_JDK_64%\bin on your path
      4. Run IntelliJ

      This appears to override whatever is causing the problem. It’s probably not the best fix, but it works for now.

      • Max says:

        April 10, 2020

        Hi,

        Oh with your workaround, I am able to open Intellij now. It works !

        Thank you John !

      • Vojin says:

        April 10, 2020

        Yep, this workaround worked for me, too 😉 Thanks man!

      • Nate Dogg says:

        April 10, 2020

        I have a slightly easier work-around:
        FYI: I’m developing in Java 13.0.2. I was previously using %IDEA_JDK% to (supposedly?) set my runtime JDK to that. I had this issue with that there and no change removing it.. so:
        I created a new %IDEA_JDK_64% var pointing to %JAVA_HOME% -> That failed saying that “%JAVA_HOME% is not a valid JDK” -> So I changed that variable to be my actual literal JDK path (In my case “C:\jdk13”) and that worked!
        So I’m running successfully on Java 13.0.2 by just setting IDEA_JDK_64 -> my java home explicit path.
        Seems the Idea JDK baked into the release is broken.. ew.

    • Andrey Dernov says:

      April 14, 2020

      1.8 JDK is no longer supported as IDE runtime JDK, please see related blog post about this change: https://blog.jetbrains.com/idea/2020/01/intellij-idea-2020-1-eap/#jbr_end_of_support You need to switch to 11 JBR an an IDE Java runtime: https://intellij-support.jetbrains.com/hc/en-us/articles/206544879

  7. Maxim Buzdalov says:

    April 9, 2020

    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:

    April 9, 2020

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

    • Mit says:

      April 9, 2020

      Worked after restarting system

  9. Thomas says:

    April 10, 2020

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

  10. Trybel says:

    April 10, 2020

    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:

    April 10, 2020

    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

    • Zubi says:

      April 14, 2020

      Same here, downgraded to 2019.3.4

    • Dmitry Jemerov says:

      April 14, 2020

      What exactly do you mean by “splash when you type”? Also we’d really appreciate it if you could follow the instructions at https://intellij-support.jetbrains.com/hc/en-us/articles/207241235-Reporting-performance-problems and report more details about the performance problems you’ve encountered.

      • Mandel says:

        April 15, 2020

        Thank you very much!! This seems to fix it — even keeping the custom bindings I had added 🙂

        However, I still thinks this should be rolled back at once.

        An upgrade should NOT change the current key bindings without warning, all the more without simple way to go back to NORMAL.

        A new keymap template should have been created beside the old Visual Studio one, which should be kept for all those who are used to it.

  12. Michael says:

    April 10, 2020

    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.

    • Ivaylo says:

      April 12, 2020

      Same here. I used the Visual Studio keymap in the previous version, and now in 2020.1 a lot of shortcuts have changed for some reason. My flow is absolutely broken now. Please revert this.

  13. Roland says:

    April 10, 2020

    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.

    • Roland says:

      April 10, 2020

      Dear mods: sorry, just delete my message. I found the shortcut that does exactly that! 😉

  14. Andy says:

    April 10, 2020

    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:

      April 14, 2020

      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.

      • Andy says:

        April 14, 2020

        Fair enough. Thanks for the explanation.

  15. Mad Tech says:

    April 10, 2020

    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:

      April 14, 2020

      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:

    April 12, 2020

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

    • arsnisnevich says:

      April 14, 2020

      Hi. I’m sorry for the inconvenience you’ve experienced. Could you file a new issue, please? https://youtrack.jetbrains.com/newIssue
      Attach complete logs archive with thread dumps from “Help | Compress Logs and Show in…” to the issue, please.

  17. cristian says:

    April 13, 2020

    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!!!

    • Dmitry Jemerov says:

      April 14, 2020

      Yes, one of the nearest updates of the Kotlin plugin will enable this feature for Kotlin.

  18. Carsten says:

    April 14, 2020

    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:

    April 14, 2020

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

    • Dmitry Jemerov says:

      April 14, 2020

      Which bar do you mean exactly? Could you please attach a screenshot?

      • Martin says:

        April 14, 2020

        Not sure how I do that in this format. I remember it showing up in a previous release and a change to the ‘Custom VM options’ was recommended. It is a bar right above the navigation bar that just says the project’s name. I put the pic in the website field.

        • Martin says:

          April 14, 2020

          Downgraded to previous release and the bar went away

          • Martin says:

            April 14, 2020

            But now all my plugins are gone. This isn’t going well.

  20. Volker says:

    April 15, 2020

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

    • Anna says:

      April 16, 2020

      This comment, and its answer, saved me!

      • Anna says:

        April 16, 2020

        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

        • Dmitry Batrak says:

          April 17, 2020

          As for the issue with Menlo – disabling ligatures in font settings should solve the issue. That doesn’t seem to be related to 2020.1 release.

        • Artem Sarkisov says:

          April 22, 2020

          Hi Anna, sorry for the late reply and the issues with the new version.

          For issues with the Maven auto-importing, please refer to https://youtrack.jetbrains.com/issue/IDEA-235459 where you can add your suggestions, or just vote for the ticket.

        • olgakli says:

          April 22, 2020

          Hi Anna, can you also please clarify when the clickable links appear for you in the command line? If possible please share the code sample. Thank you

  21. Gary Halcon says:

    April 15, 2020

    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.

    • Ekaterina.Valeeva says:

      April 16, 2020

      Please see if your case relates to https://youtrack.jetbrains.com/issue/IDEA-196723. If it is different, please file a new issue and attach a screenshot where search settings and the chosen scope can be seen. Thank you!

  22. Josh says:

    April 16, 2020

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

    • Ekaterina.Valeeva says:

      April 16, 2020

      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:

        April 28, 2020

        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.

        • Ekaterina Valeeva says:

          April 30, 2020

          Please check if File | Settings | Appearance & Behavior | Appearance | Window Options | Always show full paths in window header setting is enabled.

          • Georgi says:

            May 4, 2020

            Thank you very much, this worked out! 🙂

  23. Dervol says:

    April 16, 2020

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

  24. JN says:

    April 22, 2020

    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:

    April 22, 2020

    “Import Maven projects automatically” is missing somehow

    • David Schmidt says:

      April 22, 2020

      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?

      • Artem Sarkisov says:

        April 22, 2020

        Hi David! This is a known issue, please feel free to add your comments and suggestions to https://youtrack.jetbrains.com/issue/IDEA-235459.

        I guess I also have to suggest you to temporarily rollback to v2019.3, if this new implementation is bugging you too much.

    • David Schmidt says:

      April 22, 2020

      There is an issue:
      https://youtrack.jetbrains.com/issue/IDEA-235459

  26. Mehul Kumar Parmar says:

    April 26, 2020

    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:

    April 30, 2020

    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 …

Subscribe

Subscribe for updates