IntelliJ IDEA 2020.2 EAP2 Is Here with Advanced Exception Stack Trace Analysis, Emoji Support on Linux, and More
As usual, the EAP builds for IntelliJ IDEA Ultimate are free to use, but they expire within 30 days of the build date.
Analyzing the exception stack trace with dataflow analysis
To make it easier for you to investigate why a Java program is failing, we’ve supplemented exception stack trace analysis with dataflow analysis. The IDE will help you find out exactly what happened to cause the variable to have an unexpected value.
When you click on the stack trace, the IDE may navigate you to the relevant place where the exception happened (and not simply to the beginning of the line). Now, we’ve improved this feature to support more exception types, notably ClassCastException and NullPointerException (JEP-358). Also, in some cases, the IDE may suggest you start a ‘Dataflow to here’ analysis when navigating from the stack trace.
You can now filter “Dataflow to here” by target value. For example, you can specify that the target value is null, true or false, enum constant, string constant, or integer constant. In this case, the analysis will not display the paths where a given value cannot appear.
One more improvement in this area is better NPE analysis, which is made possible thanks to the implemented support of the Helpful NullPointerExceptions feature (JEP 358) introduced in Java 14. To take advantage of it, simply run your program with the XX:+ShowCodeDetailsInExceptionMessages option.
The IDE now parses new NPE messages to the exact NPE cause when possible and to move the caret to the relevant position when navigating from the stack trace to the code.
IntelliJ IDEA’s NotNull instrumentation for parameters is also supported, so even if there are several @NotNull parameters, you’re navigated to the appropriate one.
Emoji Support on Linux
The upcoming IntelliJ IDEA 2020.2 will correctly handle Unicode emoji characters on Linux😀💗💪.
Starting with v2020.2, we’ve decided to deprecate support for the JavaFX runtime in IntelliJ Platform plugins. This is because using JavaFX (via JFXPanel) for implementing UIs in Swing applications has some known limitations that have been causing performance and rendering issues.
As an alternative to JavaFX APIs, we are providing new integration with JCEF. JCEF is a Java port of the CEF framework for embedding Chromium-based browsers in applications using Swing.
We believe that JCEF is a great alternative to JavaFX, as it will provide better stability and performance. It will also make it easier to implement new features that show web content in the IDE.
Check out the release notes for the other closed tickets in this EAP build.
Subscribe to Blog updates
Thanks, we've got you!
IntelliJ IDEA 2023.3 Release Candidate Is Out
IntelliJ IDEA 2023.3 Release Candidate is now available! You can get the latest build from our website, through the free Toolbox App, or via snaps for Ubuntu. To use this build, you need to have an active subscription to IntelliJ IDEA Ultimate. Download IntelliJ IDEA 2023.3 RC As we …
IntelliJ IDEA 2023.3 Beta 3 Is Out!
IntelliJ IDEA 2023.3 Beta 3 is now available for download! You can get the latest build through our website, the free Toolbox App, from inside the IDE, or by using snaps for Ubuntu. Download IntelliJ IDEA Beta 3 This marks the last week before the release candidate is scheduled for delivery…
IntelliJ IDEA 2023.3 Beta 2 Is Out!
IntelliJ IDEA 2023.3 Beta 2 is out and ready for you to download! You can get the latest build from our website or via the free Toolbox App. You can also upgrade to 2023.3 Beta 2 from inside the IDE, or by using snaps for Ubuntu. Download IntelliJ IDEA Beta 2 While the team puts the finishi…