Early Access Program Releases

IntelliJ IDEA 2020.3 Is Out!

Read this post in other languages:
Русский

Today is the day! It is time to announce the release of our final major release of this year – IntelliJ IDEA 2020.3. Download it from our website, install it using the Toolbox App, upgrade from inside the IDE, or, if you are an Ubuntu user, upgrade using snaps.

IntelliJ IDEA 2020.3 offers a multitude of useful features, like interactive hints while debugging, Git staging support, extended support for Java 15 records and sealed classes, and more. It simplifies your daily work with endpoints, frameworks, and the profiler. The overall UX has been improved with better code completion based on machine-learning technology, a more intuitive and useful new Welcome screen, and better spelling and grammar checks. In short, everything about it is better!

Have a look.

You can take a look at the new features in detail in our EAP blogs or check out the What’s New for a full overview of all the changes.

In this post we will give you quick update of all the major features and improvements you need to know about in v2020.3:

Editor

  • When you want to rename occurrences, you can now choose whether to do so in comments and string literals or in printable text.
  • You can organize tabs more easily by dragging and dropping them to divide the editor horizontally or vertically. We’ve also added the Open in Right Split action, which divides the editor vertically when you open another file.
  • It’s easier to organize your pinned tabs. You can drag and drop files to add them to the pinned tabs. Additionally, you can keep all the pinned tabs in a separate row.
  • You can set IntelliJ IDEA as the default application for opening certain file types.
  • It is now possible to add a template that creates several files. Inside the template, you can enter a pattern to generate a file name and a path.
  • We’ve improved Markdown formatting, synced the preview and editor, and added support for Mermaid.js.

User Experience

  • The new Welcome screen includes four new tabs – one for managing projects, one for configuring the IDE interface, one for installing plugins, and one for learning how to use IntelliJ IDEA more effectively.
  • The Learn IntelliJ IDEA tab on the Welcome screen provides access to interactive courses that will help you learn about the features in IntelliJ IDEA using actual code samples.
  • It is possible to sync your IDE and OS themes.
  • We’ve added Reader mode for read-only files and files from External Libraries. It is now easier to read comments in such files.
  • You can open files in the LightEdit mode with the -e(–edit) command. From the LightEdit window, you can activate IDE mode to use all of the IDE features.
  • Alt+Enter now invokes a grammar and spell checker. The new version of the LanguageTool grammar checking engine improves the review of English text and adds support for more than 10 additional languages.
  • In the Search Everywhere dialog, you can now search for Git messages, tags, and branches, and you can perform easy calculations.
  • You can set up your IDE to open files in the preview tab with a single click.
  • IntelliJ IDEA will notify you of the latest JDK updates and give you the option to skip them or update from your IDE.
  • We’ve added an emoji picker for Linux 🥳.

Debugger

  • During debugging, you can access interactive hints for variables and change the field values of these variables.
  • We’ve added a new type of watch expression that is linked to a particular context and displayed inside the editor.
  • The Show referring objects and Calculate retained size profiling options are now available during debugging.
  • Only one tab with Frames and Variables and the Console output will open for a Gradle task debugging session.

VCS

  • You can stage changes from the IDE. The Staged and Unstaged nodes are now available in the Commit view.
  • Your VCS menu displays the actions relevant to the version control system you are using for your project.
  • When you create new branches, the IDE will automatically correct unaccepted characters in branch names. We’ve also reworked the context menu for the current branch to show related actions.

Java

  • We’ve started using a new ranking mechanism based on machine learning for Java code completion suggestions.
  • A new intention action allows you to convert records to classes.
  • We’ve introduced completion, code insight, and refactorings for sealed classes.
  • When your files use a Shebang mechanism, IntelliJ IDEA detects this, opens them correctly, and allows you to use code insight.
  • If you extract a Java method, it is done right away without any intermediate dialogs.
  • We’ve added new Java inspections and intention actions and improved code completion for them.
  • The Lombok plugin is now built in.

Collaborative development

  • IntelliJ IDEA 2020.3 supports Code With Me (EAP) – a new service for collaborative development and pair programming.

Run Configurations

  • The Run/Debug Configurations feature a new UI that groups the most frequently used settings together on one screen and gives you the option to add more parameters if needed.

Profiler

  • The Profiler tool window has been reworked to allow you to attach the profiler to a running process and quickly access previously created snapshots.
  • You can open .jfr and .hprof files quickly by dragging and dropping them in the IDE, double-clicking on them in the Project view, or via File | Open.

Frameworks and Web

  • You can now filter your endpoint searches and arrange the endpoints conveniently in your IDE. For each endpoint, you have access to the documentation, the ad hoc HTTP client, and Open API.
  • It is possible to export an HTTP request to cURL.
  • The URL completion dialog is more informative, showing framework icons, HTTP methods, and source locations. Deprecated URLs are shown with strike-out style.
  • You can access the URL-related actions via a new globe icon next to the URL.
  • We now support code insight for Spring MVC Functional Routing, RestOperations, Spring WebTestClient, and Spring Reactive WebClient.
  • You can convert HTTP requests from the old format to the currently accepted one.
  • We’ve improved Swagger code insight and added Swagger Hub support.
  • New Quarkus and Micronaut projects now have automatically created run configurations.
  • You can use completion for predefined methods used to create repository interfaces. We’ve also added support for the Micronaut @Query annotation.

Kubernetes

  • You can now download pod logs to your local machine and quickly delete Kubernetes resources.
  • It is now possible to automatically load CRD schemas from an active cluster.
  • We’ve added the Open Console and Run Shell actions.

Kotlin

  • The Kotlin IDE plugin release cycle is now synced with the IntelliJ IDEA release cycle.
  • Cross-language conversion is now possible, meaning you can inline Kotlin elements from Java.
  • You can also inline-refactor the also, let, run, apply, and with scope functions.
  • We’ve improved the inlining of lambda expressions.
  • We’ve added support for structural search and replace (SSR) actions for Kotlin.

Database tools

  • You can now use SQL to query MongoDB databases.
  • IntelliJ IDEA now supports the Couchbase Query service.
  • We’ve introduced two new extractors: One-Row and SQL-Insert-Multirow.

JavaScript

  • We’ve integrated the TypeScript language service into the Problems tool window and moved the actions previously available within the TypeScript tool window to a dedicated widget on the status bar.
  • If you have an unresolved React component, the IDE can now create the relevant code construct for you.
  • For JavaScript and TypeScript files, the Navigation bar now lets you jump to specific code elements in the current file.

Scala

  • The Scala Compile Server now compiles independent modules in parallel.
  • We’ve added Compilation Charts to help you optimize the structure of your project modules and the Compile Server’s VM options.
  • The Scala plugin can now combine IntelliJ IDEA’s package prefixes with Scala’s chained package clauses and relative imports.
  • Support for MUnit is now available with all the usual advantages.
  • The Scala plugin now understands the new syntax for main methods.

That was a long list of updates! As always, you can check out the release notes for even more improvements and additions. We hope you enjoy them. As always, please share your feedback in the comments to this post and report any bugs to our issue tracker.

Happy developing!

Discover more