Early Access Program

IntelliJ IDEA 2024.1 EAP 6: Improved Workflow for Logs, Inline Breakpoints, In-Editor Code Review, and More

IntelliJ IDEA 2024.1 EAP 6 is here! This new build is packed with a bunch of updates anticipated for the next major release. Highlights include an enhanced user experience with logs, advanced debugging capabilities, and improved integration with version control systems.

You can download the new version from our website, update directly from the IDE or via the free Toolbox App, or use snaps for Ubuntu.

Download IntelliJ IDEA 2024.1 EAP #6

To learn about other new features introduced in the ongoing Early Access Program, browse through the 2024.1 EAP blog posts. Now, let’s dive into what this week’s EAP build has to offer!

Java 

Improved workflow for logs

Logging is an important part of daily development, aiding in monitoring, troubleshooting, and optimizing applications. We’ve introduced a range of updates to enhance the user experience with logs.

First, we’ve implemented an option to navigate from a specific log message in the console to the code that generates the output. You can control this feature in Settings/Preferences | Advanced Settings | JVM languages.

To ensure the presence of loggers throughout your codebase, IntelliJ IDEA now suggests adding loggers that are potentially available in that location. Upon selection, the declaration of the corresponding logger will be inserted in the top-level class.

The IDE’s code completion functionality now suggests logger statements even when the logger instance is not currently in scope, eliminating the need for manual import or declaration.

Alternatively, users can utilize code generation (⌘N / Alt+Insert) to insert loggers seamlessly.

These features are supported for various popular logging systems, including JUL, Log4j 2, SLF4J, and lombok annotations (@Slf4j, @Log2j, etc.).

Debugger

Inline breakpoints for multiple statements

IntelliJ IDEA 2024.1 EAP 6 offers a more convenient workflow to set breakpoints in lines containing lambda functions or return statements. Once you set a breakpoint by clicking on the gutter, the IDE automatically displays inline markers where additional breakpoints can be set. Each breakpoint can be configured independently, unlocking advanced debugging capabilities.

Folded library calls in the call stack

Library calls are now folded by default in the call stack in the Debug tool window, which enables more focused browsing of your own code.

However, if you need to verify the library call sequence, you can expand the group and explore the frames accordingly. To reveal the list, use the Filter icon in the toolbar or call the context menu and disable the Hide Frames from Libraries option. 

Version control systems

In-editor code review

IntelliJ IDEA 2024.1 EAP 6 introduces a more streamlined and agile code review workflow for both GitHub and GitLab users. Authors and reviewers can now seamlessly interact directly within the editor, thanks to the implementation of the new review mode.

Once the pull/merge request branch is checked, the review mode is automatically enabled. When you open a source file related to the pull/merge request, either from a diff or from the Project tool window, you’ll notice purple controls on the gutter. These indicate changes made to the lines of code that are available for the code review workflow. For both authors and reviewers, clicking on these markers reveals a popup showing the original code, making it easier to understand the change. Use the icons in the gutter to discuss changes by clicking the + icon appearing on hover to start a new discussion. Click the Message icon to open or hide existing comments where you can reply, react, and resolve threads.

You can use the widget in the editor’s upper right corner to see only unresolved discussions or turn off the review mode completely. You can also toggle the review mode on and off from the VCS widget.

Support for reactions on code review comments 

IntelliJ IDEA 2024.1 EAP 6 brings support for reactions to review comments for GitHub pull requests and GitLab merge requests. You can now select from a set of emojis to add reactions to your code review comments.

CI check statuses in the Git tool window 

We’ve introduced a new column in the Log tab of the Git tool window, allowing you to easily review the results of GitHub commit checks performed by your CI system. Simply click on it to view the full details of the CI checks. 

Create pull/merge requests from push notifications

After successfully pushing your changes to the version control system, the IDE will now alert you with a single notification informing you about the successful push and suggesting an action to create a pull/merge request.

Preventing large file commits to repositories

To prevent instances where the version control system rejects pushes due to files exceeding size limits, we’ve introduced a mechanism that prohibits committing such files. The IDE will now perform a pre-commit check and notify you about the restriction. 

Allow unrelated histories merge option 

We’ve enhanced the Merge into dialog with the addition of the Allow unrelated histories option. When selected from the drop-down menu, this option enables the merge operation to proceed even if the two branches being merged have no common history.

Branch filter for the History tab of the Git tool window

We’ve revamped the user experience with file history in the Git tool window. First, the Show all branches button has been replaced with a branch filter, enabling you to review changes made to a file within a designated branch. We’ve also adjusted the toolbar orientation, positioning it horizontally for improved usability. 

Stash tab in the Commit tool window

For users who rely on stashes to store temporary uncommitted changes, we’ve introduced a dedicated tab within the Commit tool window for convenient access.

If you utilize both stashes and shelves, you have the option to enable a combined Stashes and Shelves tab via a corresponding checkbox in Settings/Preferences | Version Control | Git.  

These are the most notable updates for this week. For the full list of implemented changes, refer to the release notes

As the Early Access Program for v2024.1 is coming to its end, we encourage you to test out the new features and share your feedback with us – it helps us shape the final scope of the major release. You can use the comments section below or reach out to us on X (formerly Twitter). If you spot a bug, please report it via our issue tracker.  

Happy developing! 

image description