Early Access Program IntelliJ IDEA

IntelliJ IDEA 2021.2 EAP 2: Fast Access to Eclipse Projects, Package Search Integration, and More

Today we start week two of the IntelliJ IDEA 2021.2 EAP. The new build is already available from our website, the free Toolbox App, or via snaps for Ubuntu users.

This EAP build brings quick access to Eclipse projects, Async Profiler for Windows users, a bundled Package Search plugin, changes to pre-commit checks, helpful UI changes, and much more.

Let’s examine the new features in more detail.

User Experience

Quick access to Eclipse projects

If you have Eclipse projects stored locally on your machine, IntelliJ IDEA can now detect them automatically.

To try this feature out on your first IDE launch, select the Open existing Eclipse projects option.

Eclipse Projects - First Launch

If this isn’t the first time you’re starting IntelliJ IDEA, the IDE will detect existing Eclipse projects automatically and place them in the dedicated node right on the Welcome screen. This node will be available among the recent projects until you decide to remove it. When the Eclipse project is in the node, just click it to quickly open it in the IDE.

Eclipse Projects

Package Search integration

Back in 2019, we announced an early preview for Package Search – a new, convenient way to manage your Maven and Gradle projects’ dependencies and find new ones. Today, Package Search is graduating from the EAP with a brand new interface, and is now bundled both in IntelliJ IDEA Community Edition and in IntelliJ IDEA Ultimate. You can use Package Search to find new dependencies and add them automatically. On top of that, Package Search will also add the required repositories to your build script if they’re missing:

Search Package

Package Search also lets you upgrade, downgrade, and remove existing dependencies, change their scope, and navigate to their declarations:

Package Search

We’re happy to announce that we have improved our existing Maven and Gradle Groovy integration and have added Gradle Kotlin DSL support, but this is just the beginning. We are working on many new features for the plugin, including support for resolving references in Gradle projects, integration with Kotlin/Multiplatform projects, and many improvements for our website.

We’re looking forward to your feedback. You can reach out to the team on Twitter, and check out the known issues in the plugin and on the website.

Notification about missing plugins

If your project uses a framework that works in IntelliJ IDEA via a plugin, your IDE will track this dependency. A notification will pop up from which you can install the necessary plugin and continue working with your project.

UX - notifications about missing plugins

Profiler

Async Profiler on Windows

Scanning code for memory leaks has become more efficient for Windows users. You can now apply Async Profiler to your running processes, as we’ve implemented support for it in our Profiler tool window. Give it a try!

Async Profiler on Windows

Support for a sunburst diagram

When you capture an .hprof memory snapshot for a running process, it is now more convenient to analyze the retained objects per class because we’ve added a sunburst diagram that displays them. To see this diagram, double-click an item on the Classes tab.

Sunburst diagram

VCS

Changes to pre-commit checks

IntelliJ IDEA features a wide range of actions you can perform before a commit. In our EAP build 2 for v2021.2, we’ve expanded this list with the ability to execute tests. Just click the gear icon in the Commit view, select the Run Tests option, and choose the necessary run configuration. This way, your IDE will test your file and notify you with a warning if anything goes wrong.

VCS Pre-Commit Check

You can also customize the Analyze code and Cleanup options by clicking Choose profile next to them.

VCS - Pre-Commit Checks

The best part is that the progress and results of pre-commit checks are now shown in the Commit area, without disturbing you with additional modal windows!

Please try these new features out and share your thoughts with us!

Text search in Local History revisions

We’ve added a search field to the Local History dialog to help you quickly get to the necessary text in your Local History revisions. Now, when you right-click on any changed file and select Local History | Show History in the context menu, you can quickly navigate around your file history by typing the query in this field.

VCS - Text Search

Terminal

New Terminal options

We’ve improved our in-built terminal with two new options. First, you can now select the cursor shape. Choose whichever you like best!

Second, we now support Use Option as Meta key, similar to the same-name option in the native Terminal on macOS. This allows the Option (⌥) key on the keyboard to act as a meta modifier that can be used in combination with other keys instead of just as an Escape key. For example, you can now use the following shortcuts:

  • +F – go to the next word
  • +B – go back a word
  • +D – delete the next word

You can tick the checkboxes for these options in Preferences/ Settings | Tools | Terminal.

Terminal Cursor Options

Kotlin

Debugger updates

In this EAP we’ve introduced some useful improvements and updates to our coroutine agent in the debugger.

Previously, when local variables were not used after passing a suspension point, advanced liveness analysis didn’t save these variables in the Local Variable Table. This was done to avoid memory leaks. As a side effect, such variables used to disappear in the Variables view of the Debugger tool window. We’ve fixed this and now, in most cases, you will see all the local variables. A couple of cases are still not processed, but we’ll address those soon.

Kotlin - Missing Variables

The coroutines agent is now available for Java run configurations with a dependency on kotlinx.coroutines. We’ve also supported the agent for Spring and Maven run configurations. You can now see the Coroutines tab in the Debug tool window.

Quality improvements

As promised, we’ve continued to look into the issues affecting user experience and performance. Here’s what we’ve fixed and improved:

  • We’ve improved the coverage performance, which is now as fast as JaCoCo.
  • The IDE indexes files inside the WSL as fast as the ones in the local file system. [IDEA-255733]
  • We’ve fixed several issues affecting variable evaluation in Kotlin code. [KTIJ-7604], [KTIJ-3018], [KTIJ-2425], [KTIJ-302].
  • Kotlin objects are correctly displayed in the Variables view. [KTIJ-780]
  • We’ve fixed the issue about the connection over relay servers that were not working when the proxy with authentication was used. [CWM-2712]

These are all the significant updates for EAP build 2; the full list of improvements is available in the release notes. Stay tuned for more significant fixes and new features next week. Meanwhile, you can try out the features introduced in this post and tell us what you think in the comment section for this post. If any bugs come out, please report to our issue tracker.

Happy developing!