JetBrains has just rolled out IntelliJ IDEA 2020.2: the latest version of its popular integrated development environment (IDE). Among many features, the release promises reviewing and merging GitHub pull requests right from inside the IDE, quick navigation between warnings and errors in a file with the Inspections widget, viewing the full list of issues in a current file with the Problems tool window, and getting notifications in case your changes would break other files. You can use Jakarta EE, and get better support for Quarkus, Micronaut, and OpenAPI.
IntelliJ wants to be prepared for September when both Java 15 and Jakarta EE 9 official releases should arrive. Developers who don’t want to wait until mid-September can already test the new features added to Java 15 by using the early access builds. Following the support for Records already present in IntelliJ earlier this year, basic support for sealed classes and full support for Text Blocks is now available.
Team work should be easier now as well, with the improvements coming to the Version Control part of the IDE. Both GitHub and vanilla git have new features added. For example, full PRs support was added, while the git dialog provides support for squashing and drop commits. Readers with an eye for detail will be happy to read that the git dialogs for merge, pull, and rebase have been revised for visual consistency.
IntelliJ’s editor has been enhanced to help developers identify early problems in the code they write: from now on whenever changing the signature of a class, method or anything else that might introduce errors in different classes, it will be additionally signaled with an inlay hint that once clicked will take you to the affected files from your project.
Stack trace analysis has been supplemented with dataflow analysis - when you click on the stack trace, the IDE can take you to the place in your code where an exception appears, together with suggestions of why it may have happened. This release also promises improved user experience for indexing.
Code completion while writing Java stream operations should be easier now: the list of available methods on collection will also contain operations available on the stream. Selecting one of these operations from the hints automatically introduces the stream() method call. The Introduce Variable refactoring can selectively replace occurrences of a variable in an intermediate scope. You can now choose various options for replacement’s scope, rather than being limited to choosing only one or all occurrences.
All the features mentioned so far are available in IntelliJ's Community Edition (CE). In addition, JetBrains reserved a number of features for the Ultimate Edition, including:
- Support for Jakarta EE 9 features including CDI, Bean Validation, JAX-RS and others
- Creating a Java EE 8 or Jakarta EE 9 project, by using the New Project wizard
- Extra features for Typescript or JavaScript users
- Added benefits for database, Quarkus and Micronaut framework users