IntelliJ IDEA
IntelliJ IDEA – the Leading Java and Kotlin IDE, by JetBrains
IntelliJ IDEA 2024.3 Is Out!
IntelliJ IDEA 2024.3, our final major release of the year, is here! This update brings a range of new features and enhancements across the IDE to improve your daily development workflows.
You can download this version from our website, update directly from within the IDE, use the free Toolbox App, or install it via snap packages for Ubuntu.
Key highlights include a visual representation of your code’s logical structure in the Structure tool window, a smoother debugging experience for Kubernetes applications, and cluster-wide Kubernetes log access. This version also moves K2 mode out of Beta.
Watch our video overview to see these improvements in action!
This blog post lists dozens of additional enhancements in version 2024.3. For a full list of new features with short demos, visit our What’s New page.
Highlights
- The Structure tool window now includes a Logical code structure alongside the familiar Physical structure. This allows you to view not only classes, methods, and fields but also the links and interactions between components in your project.
- We’ve made debugging Kubernetes applications even easier. You can use the Add Tunnel for Remote Debug option to make your workstation a virtual part of the Kubernetes cluster, allowing you to swap in a pod and debug microservices locally with your preferred tools.
- IntelliJ IDEA now offers cluster-wide Kubernetes log access with streaming and pattern matching. This feature provides a centralized view of all events across pods, nodes, and services, helping you quickly identify issues without manually checking each log.
- K2 mode has officially moved out of Beta and is now Stable and ready for general use.
AI Assistant
- IntelliJ IDEA 2024.3 introduces context-aware inline AI prompts, offering a seamless way to interact with AI Assistant directly in the editor. This feature supports Java, Kotlin, Scala, Groovy, JavaScript, TypeScript, Python, JSON, and YAML file formats.
- AI Assistant now offers simplified context management with an updated UI, making it easy to view, manage, and customize files, code selections, and project-wide instructions.
- You can now select your preferred AI chat model, choosing from Google Gemini, OpenAI, or local models on your machine.
Learn more about these updates in this blog post. All these features, along with the AI-powered enhancements mentioned below, are available with an active AI Assistant subscription.
Java and Kotlin
- In version 2024.3, IntelliJ IDEA’s data flow engine handles aliasing cases more accurately, leading to fewer false positives in inspections and a more reliable Java and Kotlin coding experience.
- IntelliJ IDEA’s code formatter features a new setting that allows you to retain blank lines between annotations and field declarations.
- With K2 mode enabled, IntelliJ IDEA supports using non-local
break
andcontinue
statements inside lambdas, as well as multi-dollar interpolation – experimental language features of Kotlin 2.1.
Scala
- Version 2024.3 improves IntelliJ IDEA’s Scala 3 support, allowing you to use compiler-based type inference for transparent inline method calls and providing full support for named tuples. Additionally, IntelliJ IDEA is better at recognizing opaque types.
- The IDE now recognizes Scala CLI projects when you open a folder with a
project.scala
file. You can also create new BSP-based Scala CLI projects via the New Project wizard and add Scala files, just like you do for sbt-based projects. - We’ve optimized compiler-based highlighting by reducing redundant compilation requests, resulting in better CPU efficiency, and we’ve resolved issues causing duplicated parser errors from both the parser and compiler.
- IntelliJ IDEA’s project model now represents sbt projects more accurately, separating production and test sources into distinct modules. This feature is currently in Beta.
User experience
- In version 2024.3, spelling and grammar checks are accessible even while indexing is in progress.
- The updated Run widget lets you launch multiple configurations simultaneously. Additionally, the widget displays controls for all running configurations, providing a clear overview of their statuses.
- We’ve increased the default tab limit in the editor to 30, so you can now keep more tabs open before the IDE starts closing the ones used least recently.
- We’ve optimized the placement of the Rename action in the context menu when called on elements in the editor and the Project tool window, making it more accessible at the top level.
- IntelliJ IDEA now automatically highlights all instances of any text you select within a file.
- We’ve added dedicated icons for messages and i18n files to make them easier to identify.
- The New popup for adding files to Java source roots now displays only the most relevant options, reducing clutter and streamlining your workflow.
- We’ve enabled the floating toolbar for JSON, XML, YAML, and SQL files for easy access to context-based and AI-driven actions.
Terminal
- The new terminal (Beta) now offers faster command processing and completion, seamless session switching, and new customization options for prompt styles, session names, and environment variables for a smoother, more responsive experience. We’ve also updated the UI with a more compact design, reducing padding to maximize your screen real estate.
Version control systems
- In version 2024.3, it is possible to commit specific changes directly from the editor.
- AI Assistant now helps generate accurate titles and descriptions for your pull and merge requests.
- The Find in Files feature has been enhanced with a new Project Files Excluding Git-Ignored search option.
- You can now control background checks during the commit process with a new Run advanced checks after a commit is done setting.
- The Welcome screen now shows the branch name.
Debugger
- The HotSwap feature is now easier and more intuitive to use. When you edit code with an active debugger session, the IDE automatically detects the changes and prompts you to reload them via a convenient button in the editor.
- A new intention action allows you to set exception breakpoints from the editor without opening the Breakpoints dialog or browsing the stack trace in the console.
- You can now measure execution time for multiple lines by using the Run to Cursor action, and each line’s execution time will be displayed directly in the editor’s gutter.
- IntelliJ IDEA 2024.3 now prints a merged stack trace, addressing the challenges of troubleshooting asynchronous code.
Build tools
- The IDE now supports Maven’s split local repositories – a feature introduced in Maven 3.9 that allows you to separate local repositories according to your needs.
- We’ve made parallel compilation the default in IntelliJ IDEA 2024.3. Now, you will see faster compilation times for all Maven-based projects compiled by the IDE, with optimized CPU and memory consumption.
- IntelliJ IDEA now automatically detects SSL issues during Maven syncs and builds, prompting you to accept untrusted certificates when necessary.
- The first public EAP release of our new Bazel plugin for IntelliJ IDEA is now available. The plugin currently lets you open Bazel projects for Java and Kotlin, supports building, testing, running, and debugging Bazel targets, and offers Starlark syntax, completion, navigation, and debugging support.
The features and enhancements in version 2024.3 that are designed to facilitate work with frameworks, technologies, and databases, as well as the updates for profiling and web development, are accessible in IntelliJ IDEA Ultimate only.
Profiler
- The profiler now displays a heap memory usage graph above the thread lanes in the Timeline tab.
Frameworks and technologies
- IntelliJ IDEA can now automatically generate derived query methods in Spring Data repositories, suggesting possible method names, providing the correct method signatures and return types, and updating repository code for you.
- Version 2024.3 introduces the ability to access environment variables directly within the HTTP Client using the
$env.ENV_VAR
syntax. - In the HTTP Client, it is now possible to import and run requests – either all at once or specific ones by name – from one
.http
file to another. - Ktor 3.0, a toolkit for building server applications on the JVM with Kotlin, is out with new features and improved performance. Learn more.
- We’ve greatly simplified the experience of debugging GraalVM native images with Docker containers, which means you can now build and debug native Java applications on any platform.
- Dev Container builds now operate more smoothly on remote Docker engines, support for
features
is more consistent, and setting management for Dev Containers has been streamlined for improved efficiency. - We’ve added support for new Docker Compose attributes that give you better control over builds, resource management, service orchestration, and networking within Docker Compose.
- This release introduces support for OpenTofu and greatly extends support for Terraform.
- We continue to improve the reliability of projects that are hosted in the Windows Subsystem for Linux (WSL) and opened by developers from Windows in the IDE.
Kubernetes
- The IDE now offers support for network policies, which are used to manage network traffic between pods in a cluster.
Web development
- When you use Find in Files in project directories,
node_modules
results are now excluded by default, reducing clutter from irrelevant files. - We’ve improved component navigation and renaming for Vue, Svelte, and Astro frameworks.
- IntelliJ IDEA provides greater support for Angular 19 projects.
Database tools
- When you use AI Assistant for text-to-SQL tasks, the IDE now presents a handy in-editor diff, displaying both the original and AI-generated code for easy comparison.
- AI Assistant is now more helpful for handling SQL execution errors, offering two new actions – Explain with AI and Fix with AI.
- IntelliJ IDEA now supports fragment introspection and offers smart refresh for MySQL and MariaDB databases.
- A new inspection for an excessive number of
JOIN
clauses can be enabled from the IDE settings. - To make grid paging more noticeable in the data editor, we have moved the control for it from the toolbar to the bottom center of the data editor.
Other
- Linux users should note that, as of version 2024.3, global menu support has been discontinued in IntelliJ IDEA.
These are the key improvements introduced in IntelliJ IDEA 2024.3. For a complete list of changes, please refer to the release notes.
We welcome your feedback on the new features and enhancements. Connect with us on X or leave a comment below. If you come across any bugs while using the IDE, please report them to our issue tracker.
Happy developing!