IntelliJ IDEA
IntelliJ IDEA – the Leading Java and Kotlin IDE, by JetBrains
IntelliJ IDEA 2020.3 EAP: New Welcome Screen, Full Support for Sealed Classes, and More
The first pre-release build of IntelliJ IDEA 2020.3 is now available in the Early Access Program. This new round of updates will make your coding experience smoother and more customizable.
Please join the program to test the new features and help us make IntelliJ IDEA better for you. As always, you can download the new EAP from our website, get it from the free Toolbox App, or update using snaps if you’re an Ubuntu user.
User experience
Fast-track setup and reworked Welcome screen
During the initial setup of IntelliJ IDEA, you’ll see only the Privacy Policy and the License (for IntelliJ IDEA Ultimate) dialogs that are no longer followed by the wizard. Once the IDE is installed, you’ll come to a new Welcome screen that includes not only project selection but also a variety of dialogs to help you customize your IDE to fit your needs. So, what’s changed on the Welcome screen?
First and foremost, the Projects page has more space, making room for extra projects. It is easier to search for the desired project right from the search field, which is more discoverable than the quick search.
The Customization page takes you through the primary interface settings like the color theme, IDE font, import actions, and sharing preferences.
From the Plugins page, you can browse the marketplace and install the plugins you think will improve the performance and usability of your IDE.
We hope you enjoy being able to configure your IDE right from the start and access your settings easily at any time.
IDE theme synced with OS settings
One of the top-voted UI improvements is here. Now your OS and IntelliJ IDEA themes will always be the same if you select the Sync with OS option in Settings | Preferences / Appearance & Behavior / Appearance / Theme. Your IDE will automatically switch to the light or dark theme, depending on your OS preferences.
More intuitive access to Rename settings
In-place Rename is a popular refactoring that must be configured properly to work as you expect it to. For example, in some cases you need to replace occurrences of a symbol in the source code but not in printable text. If you don’t apply the settings that explicitly identify where you want to apply the rename refactoring and instead refactor blindly, the results will be far from what you hope for.
To avoid such cases, we made the Rename preferences more obvious, putting them into an inlay hint. This hint appears after you call ⇧F6 and then press Tab.
The hint allows you to choose whether you want to rename occurrences either in the comments and string literals or in printable text. This means you can apply your settings and rename quickly and safely.
Splitting the editor with drag and drop tabs
When you work with complex projects, it can be convenient to keep several tabs open and visible simultaneously on your screen. In the EAP version of IntelliJ IDEA 2020.3, you are able to split the main editor screen either horizontally or vertically by dragging and dropping a tab to the desired position. When you are dragging a tab, the editor will highlight possible locations to drop it. The IDE displays pinned tabs at the beginning of the tab bar.
Java
More for Java Records and Sealed Classes
We are continuing to examine the new Java 15 features for this release to make sure they are conveniently integrated into IntelliJ IDEA. With this version, we’ve extended Records support, which was released in v2020.2.
Some classes in Java tend to be data carriers that are verbose and hard to read. The introduction of Records in the previous release solved this issue. Records carry the same data as traditional classes but in a concise manner without compromising their functionality.
In this release, we offer an intention action that allows you to go back to classes from records, or, in other words, to convert records to classes. You may need this if, for example, you want to downgrade your codebase.
What’s more, in v2020.3, you can decompile records from a compiled .class file.
In this EAP, we’re also adding full-fledged support for Sealed Classes, which allow you to restrict which classes can extend them.
You can read about when and how to use Records and Sealed Classes on our blog.
VCS
Rearranged VCS menu
The VCS menu has been renamed to match the version control system that you are currently using. For example, if your project only uses Git, the VCS menu now looks like this:
We’ve made the menu neater and more discoverable by keeping the most useful actions for versioning your project. You can now easily access key Git features that are no longer hidden in a submenu.
Other
Better integration of spelling and grammar checkers
We continue to make it easier to identify and address grammar and spelling imperfections. All the suggestions now appear right away in the dialog when you press Alt+Enter. This shortcut is invaluable when it comes to improving both your code and your language.
What’s more, we’ve integrated a new version of the LanguageTool grammar checking engine, which improves the review quality in English and adds support for 10+ more languages.
IntelliJ IDEA is taking steps to chip away at the language barrier for you and in doing so helps improve the quality of your end product!
Updated Profiler Tool Window
As you know, the Profiler allows you to view and study snapshots to track down performance and memory issues.
In IntelliJ IDEA 2020.3, it is easier to start analyzing snapshots right from the updated Profiler tool window. You can open a snapshot file in the Recent Snapshots area and analyze it from there.
Another new feature is the ability to attach the profiler to a running application. You can see the list of all running Java processes, press Enter to invoke Attach Profiler to a Process, and attach to the running process with the integrated Async Profiler and Java Flight Recorder.
Redesigned Endpoints tool window
The Endpoints tool window shows both the client and the server APIs used in your project for HTTP and WebSocket protocols. The previous interface solution took up a lot of horizontal space and didn’t make it possible to select several endpoint groups and change their order.
The EAP version of IntelliJ IDEA 2020.3 introduces a new interface that solves these issues.
First of all, the IDE shows all the found endpoints in a vertically arranged list and allows you to filter them by module, type, and framework. The search field features completion both for filters and for values. The gear icon on the right-hand side of the window contains the configurations for the sources of your list.
Second, you don’t have to wait for the entire loading process to finish because the IDE arranges the endpoints with those that have already been loaded at the top.
And finally, the section on the right-hand side of the window shows any documentation from the source code where the web service is defined.
The new UI is cleaner. We hope that you like and that it allows you to work faster with HTTP URLs served by your Web application.
cURL conversion
You can now export an HTTP request to cURL by pressing Alt + Enter in the HTTP request editor and selecting the “Convert to cURL and copy to clipboard” option.
Support for a New Maven POM
When Maven 3.7.0 is released, IntelliJ IDEA will support its POMs that come with a simplified structure. Since POM XML is a fundamental unit for working in Maven, this is an update you won’t want to miss!
Improved Markdown editing and Preview
Starting with this version, we’re beginning to improve our built-in Markdown tool. You can now format your code in accordance with popular Markdown style guides by pressing Command + Alt + L. The customization options for this command are in Preferences | Settings / Editor / Code Style / Markdown.
If you click the Auto-Scroll Preview button in the top right corner of the editor, the preview pane gets synced to scroll in unison with the editor.
We’ve also added support for Mermaid.js – a popular diagramming and charting tool. Activate it in Preferences | Settings / Languages & Frameworks / Markdown and easily add diagrams to your .md files.
And finally, the Preview window will adapt to any default color themes you apply to the IDE. Stay tuned for more updates!
To be continued
That’s all for our major updates this week. Otherwise, highlighting under the caret has become more responsive. When you move the caret to an element, the IDE highlights it immediately without waiting for the reparse delay to expire.
As always, we take the most-voted issues into consideration when identifying what to fix during the EAPs. This time we:
- Fixed focus when stopping at a breakpoint [IDEA-192423]
- Fixed Settings Sync upon export [IDEA-202548]
- Fixed automatic removal of blank lines after saving a file [IDEA-119281]
Information about other issues we’ve addressed can be found in the release notes.
Stay tuned for more improvements to come and share your feedback in the comments below, on Twitter, or via our issue tracker.
Happy developing!