With a 62% adoption rate among JVM developers, IntelliJ IDEA is surely very popular. And with the most recent update, there has been a lot of cooler additions which makes the IDEA even more exciting to JVM users.
IntelliJ IDEA 2020.3 has added interactive hints and inline watches in the debugger, has improved support for Java 15 and has introduced support for Git staging, brought about changes in the user experience and significant changes to the editor, multiple ta handling, pinning etc. - all by keeping the ease and efficiency of the user in mind.
User Experience This update has a new welcome screen where the initial wizard has been replaced with a quick-access screen. This screen has four different tabs, Projects: a shortcut to managing all your projects, Customize: for customizing the IDE interface, Plugins: for plugin installation, and Learn IntelliJ IDEA for access to help and learning resources. This new version allows the user to sync the IDE theme with the OS setting, so now the experience of using the IDE can be seamlessly smooth. They have also introduced a “Reader mode” with which all read-only files and files from external libraries are opened by default. In this mode, comments are represented as formatted texts and font ligatures are enabled in order to make the code more readable to the user. This mode can be further customized to meet the personal requirements of the user. Now the keyboard shortcut Alt+Enter invokes suggestions to correct grammar or spelling, using a new version of the LanguageTool grammar checking engine. Another change to the user experience is the addition to the search everywhere dialog box which now allows the user to lookup commits, hashes, messages, tags and branches in Git on top of its regular functionality. Last and the coolest is the addition of emoji picker for Linux. To open the emoji picker, simply press Ctrl + Alt +. The emojis can be filtered by category, name and can be chosen from different skin tones. The emoji picker also fully supports keyboard navigation.
Editor: Extracting Java methods are easier than ever before. Just by pressing Ctrl + Alt + M on Windows/Linux, the method will be automatically extracted. There is also more intuitive access to Rename settings which provides hints to rename occurrences in comments and string literals or in printable text. Another cool new addition is the ability to drag and drop tabs (demonstrated below). While working on a project, if the user wants to keep multiple tabs open simultaneously, he can drag and drop files to split the editor either horizontally or vertically. There’s also a new Open in Right Split action that splits the editor vertically upon opening a file. There’s also been a few improvements for pinned tabs. Now a pin icon appears on top of pinned tabs and clicking on it once unpins the tab. Also, dragging a tab on top of a pinned or unpinned tab pins or unpins it, respectively. Another new improvement has been on the Markdown tool. With improved UI and UX, the Markdown format can be customized while the Auto-scroll preview button in the top-right corner of the editor allows the user to sync scrolling of the preview pane and the editor. Lastly, within the editor, now users can set IntelliJ to be the default application to open files. This can be done from Preferences| Settings /Editor / File Types.
Debugger: There has been quite a few updates on the debugger which makes the programmer’s life much simpler. Now there’s interactive hints so in debugger mode, the user can click on variables to get inline hints that contain related fields whose values can be changed. Also, now only one tab opens per debugging session for a Gradle task. It contains Frames and Variables, as well as the console output.
Version control: With this new version, the user can now stage changes directly from the IDE. In addition, the VCS menu will now be renamed based on the version control system the user is currently using. This makes it easier for the user to navigate across the UI. Also, the menu is more concise now with only the most useful actions for versioning a project. And lastly, when a new branch is created, the IDE automatically corrects unaccepted symbols in branch names.
There has been a lot of other updates brought about that I will continue to add to this article as I explore and discover.