IntelliJ IDEA
IntelliJ IDEA – the Leading Java and Kotlin IDE, by JetBrains
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.
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.
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:
Package Search also lets you upgrade, downgrade, and remove existing dependencies, change their scope, and navigate to their declarations:
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.
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!
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.
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.
You can also customize the Analyze code and Cleanup options by clicking Choose profile next to them.
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.
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.
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.
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!