Das ist neu in IntelliJ IDEA 2024.3

IntelliJ IDEA 2024.3 enthält eine Reihe von leistungsstarken Neuerungen, die Ihre Entwicklungserfahrung verbessern. Die IDE bietet jetzt eine Darstellung der logischen Struktur Ihres Codes, vereinfacht das Debuggen von Kubernetes-Anwendungen, ermöglicht einen Cluster-weiten Zugriff auf Kubernetes-Protokolle und führt den K2-Modus nach Abschluss der Betaphase offiziell ein. Auf dieser Seite finden Sie detaillierte Informationen zu den Updates in den verschiedenen IDE-Bereichen.

Highlights

Logische Codestruktur im Structure-Toolfenster
Ultimate

Das Structure-Toolfenster enthält neben der bekannten physikalischen Struktur jetzt auch eine logische Codestruktur. Hier können Sie nicht nur Klassen, Methoden und Felder einsehen, sondern auch die Verbindungen und Interaktionen zwischen den Komponenten Ihres Projekts. Wenn Sie zum Beispiel einen Controller in einer Spring-Boot-Anwendung öffnen, werden dessen Endpunkte und die automatisch verbundenen („autowired“) Anwendungskomponenten angezeigt. Diese erweiterte Ansicht hilft Ihnen, die Projektstruktur zu verstehen und anhand der Codeverwendung und der relevanten Verbindungen durch das Projekt zu navigieren.

Debugging-Verbesserungen für Kubernetes-Anwendungen
Ultimate

Wir haben das Debuggen von Kubernetes-Anwendungen weiter vereinfacht. Sie können das Tunnel-Debugging einfach aktivieren, indem Sie auf die drei Punkte neben der Debug-Schaltfläche klicken und Add Tunnel for Remote Debug auswählen. Dadurch wird Ihre Workstation zu einem virtuellen Mitglied des Kubernetes-Clusters, sodass Sie einen Pod ersetzen und Microservices lokal mit Ihren bevorzugten Tools debuggen können. Andere Microservices interagieren mit Ihrer Workstation, als wäre diese der Pod, den Sie gerade debuggen, mit vollem Netzwerkzugriff auf den Rest des Clusters. Sogar Debugger ohne Kubernetes-Unterstützung funktionieren einwandfrei. Außerdem vereinfacht der neue Abschnitt Forward Ports im Kubernetes-Bereich des Services-Toolfensters die Portweiterleitung.

Kubernetes-Cluster-Protokolle
Ultimate

IntelliJ IDEA bietet jetzt einen Cluster-weiten Zugriff auf Kubernetes-Protokolle mit Streaming und Pattern-Matching – unverzichtbare Tools für Entwicklungs-, DevOps- und SRE-Teams. Diese Funktion bietet eine zentrale Übersicht aller Ereignisse in Pods, Nodes und Services und hilft Ihnen, Probleme schnell zu erkennen, ohne die einzelnen Protokolle manuell durchzugehen. Das Echtzeit-Streaming ermöglicht eine sofortige Diagnose, während das Pattern-Matching die Erkennung von wichtigen Ereignissen und Fehlern automatisiert, z. B. Speicherplatzprobleme oder ungewöhnliche Netzwerkaktivitäten. In einem speziellen Blogartikel erzählen wir Ihnen mehr über diese Funktion und wie Sie sie nutzen können.

Stabiler Kotlin-K2-Modus

In IntelliJ IDEA 2024.3 hat der K2-Modus offiziell die Betaphase verlassen und steht nun als stabile Version für den allgemeinen Gebrauch bereit. Der K2-Modus verbessert die Stabilität der Kotlin-Codeanalyse, die Arbeitsspeicher-Effizienz und die Gesamtperformance der IDE erheblich. Der K2-Modus bietet jetzt eine verbesserte Funktionsparität mit Java und unterstützt alle Sprachmerkmale von Kotlin 2.1. Unter Settings/Preferences | Languages & Frameworks | Kotlin können Sie die verschiedenen Möglichkeiten des neuen Modus entdecken.

AI Assistant

Inline-KI-Prompts

IntelliJ IDEA 2024.3 führt Inline-KI-Prompts ein, um eine mühelose Interaktion mit AI Assistant direkt im Editor zu ermöglichen. Sie können Ihre Anfragen in natürlicher Sprache eingeben; AI Assistant interpretiert diese sofort und setzt sie in Codeänderungen um, die zur leichteren Nachverfolgung in der Randleiste violett markiert sind. Die Inline-KI-Prompts sind kontextsensitiv und berücksichtigen automatisch zugehörige Dateien und Symbole für eine präzisere Codegenerierung. Diese Funktion unterstützt die Dateiformate Java, Kotlin, Scala, Groovy, JavaScript, TypeScript, Python, JSON und YAML und kann mit allen AI-Assistant-Abonnements genutzt werden.

Verbessertes Kontextmanagement

Mit diesem Update haben wir die Verwaltung des Kontexts, den AI Assistant bei seinen Vorschlägen berücksichtigt, transparenter und intuitiver gestaltet. Eine überarbeitete Oberfläche, in der Sie jedes Kontextelement einsehen und verwalten können, bietet volle Transparenz und Kontrolle. Die geöffnete Datei und der darin enthaltene ausgewählte Code werden nun automatisch zum Kontext hinzugefügt. Sie können unkompliziert Dateien hinzufügen oder entfernen, um den Kontext an Ihren Workflow anzupassen. Darüber hinaus können Sie für das gesamte Projekt gültige Anweisungen beifügen, um die Antworten von AI Assistant an Ihren Codebestand anzupassen.

Auswahl des Chatmodell-Anbieters

Sie können jetzt Ihr bevorzugtes KI-Chatmodell auswählen. Sie haben die Wahl zwischen Google Gemini, OpenAI und den auf Ihrem System installierten lokalen Modellen. Durch diese erweiterte Auswahl können Sie die Antworten im KI-Chat an Ihren konkreten Workflow anpassen, um eine individuellere und persönlichere Erfahrung zu erhalten.

Unterstützung für lokale Modelle über Ollama

Neben den cloudbasierten Modellen können Sie den KI-Chat jetzt auch mit lokalen Modellen verbinden, die über Ollama bereitgestellt werden. Besonders nützlich ist dies für Benutzer*innen, die mehr Kontrolle über ihre KI-Modelle benötigen, um Datenschutz und Flexibilität zu gewährleisten und Modelle auf lokaler Hardware auszuführen.

Um ein Ollama-Modell zum Chat hinzuzufügen, müssen Sie die Ollama-Unterstützung in den Einstellungen von AI Assistant aktivieren und die Verbindung zu Ihrer Ollama-Instanz konfigurieren.

Java und Kotlin

Verbesserungen bei konstanten Bedingungen

In Version 2024.3 behandelt die Datenfluss-Engine von IntelliJ IDEA Aliasing-Fälle genauer, was die Fehlalarme bei Inspektionen reduziert und eine zuverlässigere Programmiererfahrung ermöglicht. Diese Verbesserung gilt sowohl für Kotlin als auch für Java und ermöglicht eine bessere Analyse in Szenarien, in denen mehrere Referenzen auf dieselbe Instanz verweisen.

Verbesserte Java-Codeformatierung

Der Codeformatierer von IntelliJ IDEA kann jetzt Leerzeilen zwischen Annotationen und Felddeklarationen beibehalten – dieser Stil wird häufig in JPA-Entitäten verwendet, um die Lesbarkeit zu verbessern. Bisher wurden diese Zeilen bei der Formatierung standardmäßig entfernt. Die neue Option zur Steuerung dieses Verhaltens finden Sie unter Settings | Editor | Code Style | Java | Blank Lines.

Unterstützung für experimentelle Features in Kotlin 2.1

Bei aktiviertem K2-Modus unterstützt IntelliJ IDEA zwei experimentelle Sprachmerkmale von Kotlin 2.1. Erstens können Sie jetzt nicht-lokale break- und continue-Anweisungen in Lambdas verwenden, die als Argumente an Inline-Funktionen übergeben werden. Die andere neu unterstützte Funktion ist die Multidollar-Interpolation. Diese erleichtert die Arbeit mit Zeichenfolgen, die das Symbol $ enthalten, sodass Workarounds wie ${'$'} nicht mehr notwendig sind. Dies ist besonders praktisch, wenn Sie zum Beispiel ein JSON-Schema in Ihrem Code deklarieren.

Scala

Scala-3-Unterstützung

IntelliJ IDEA bietet Ihnen jetzt die Möglichkeit, in Scala 3 die Compiler-basierte Typinferenz für transparente Inline-Methodenaufrufe zu verwenden. Diese Verbesserung erweitert die Unterstützung für Bibliotheken, die Makros nutzen, da alle typbasierten Funktionen (wie Code-Completion, Navigation, Codehinweise usw.) auch für makrobasierten Code verwendbar sind. Diese Funktion befindet sich noch im experimentellen Stadium.

IntelliJ IDEA 2024.3 bietet vollständige Unterstützung für benannte Tupel, eine experimentelle Funktion in Scala 3.5, die in Scala 3.6 in den Standard-Sprachumfang übernommen wird. Wie die Bezeichnung nahelegt, lassen sich die Komponenten eines benannten Tupels benennen, um mit aussagekräftigen Namen auf sie zugreifen zu können.

Außerdem kann IntelliJ IDEA opake Typen jetzt besser erkennen. Das opaque-Schlüsselwort wurde zwar bisher schon erkannt, aber in der Praxis hat IntelliJ IDEA opake Typen genauso behandelt wie normale (d. h. transparente) Typ-Aliase. Opake Typen werden jetzt als abstrakte Typen behandelt, die ihre zugrunde liegenden Definitionen verbergen.

Scala-CLI

Wenn Sie einen Ordner öffnen, der eine project.scala-Datei mit der Konfiguration Ihres Projekts enthält, erkennt IntelliJ IDEA jetzt, dass es sich um ein Scala-CLI-Projekt handelt. Sie können auch ein neues BSP-basiertes Scala-CLI-Projekt mit dem New Project-Assistenten erstellen und diesem neue Scala-Dateien hinzufügen, wie dies auch bei sbt-basierten Projekten möglich ist.

Neues Projektmodell für sbt-Projekte

Das Projektmodell von IntelliJ IDEA repräsentiert sbt-Projekte jetzt genauer und trennt Produktions- und Testquellen in separate Module. Das neue Modell verbessert die Handhabung von Abhängigkeiten und ermöglicht das Konfigurieren separater Compileroptionen für unterschiedliche Gültigkeitsbereiche. Diese Funktion ist aktuell im Beta-Status.

Verbesserte Compiler-basierte Hervorhebung

Wir haben die Anzahl der Fälle reduziert, in denen mehrere Kompilierungen benötigt werden. Ein Beispiel sind Fälle, in denen Refactorings, die mehrere Dateien betreffen, zu mehreren Kompilierungsanforderungen führen. In der neuen Version analysiert und bündelt IntelliJ IDEA diese Anforderungen und gibt dann eine einzige Kompilierungsanforderung für den Gesamtumfang aus. Dies reduziert die CPU-Belastung und optimiert die Hervorhebung durch den Compiler.

Wir haben auch einige Sonderfälle behoben, in denen doppelte Parser-Fehler – sowohl vom Scala-Parser von IntelliJ IDEA als auch vom Compiler – angezeigt wurden.

Benutzererfahrung

Rechtschreib- und Grammatikprüfung während der Indizierung

Aufbauend auf den Fortschritten der Version 2024.2 haben wir die Anzahl der Grundfunktionen, die während der Erstellung des Projektmodells und der Indizierung verfügbar sind, weiter erhöht. In Version 2024.3 sind jetzt auch Rechtschreib- und Grammatikprüfungen während der Indizierung verfügbar. Auf diese Weise können Sie Fehler z. B. in Markdown-Dokumenten und Dokumentations-Tags früher erkennen, ohne auf den Abschluss der Indizierung warten zu müssen.

Run-Widget: Mehrere Konfigurationen gleichzeitig starten

Mit dem aktualisierten Run-Widget können Sie mehrere Konfigurationen gleichzeitig starten, indem Sie Strg gedrückt halten und das Debug-Symbol im Popup anklicken. Darüber hinaus zeigt das Widget Steuerelemente für alle gerade ausgeführten Konfigurationen an, um einen klaren Überblick über deren Status zu bieten und die Verwaltung zu vereinfachen.

Erhöhtes Standardlimit für Tabs

Wir haben das Standardlimit für Editor-Tabs auf 30 erhöht. Dies bedeutet, dass jetzt mehr Tabs offen bleiben können, bevor die IDE beginnt, die am längsten nicht genutzten Tabs zu schließen. Sie können dieses Verhalten unter Settings | Editor | General | Editor Tabs steuern.

Optimierte Platzierung der Rename-Aktion

Wir haben die Platzierung der Rename-Aktion im Kontextmenü optimiert, wenn dieses für Elemente im Editor und im Project-Toolfenster aufgerufen wird. Die Aktion befindet sich jetzt auf der obersten Ebene, sodass Benutzer*innen, die bevorzugt mit der Maus arbeiten, Dateien, Variablen und andere Elemente schneller umbenennen können.

Hervorhebung aller Vorkommen des ausgewählten Texts

In der Standardeinstellung hebt IntelliJ IDEA jetzt automatisch alle Vorkommen des ausgewählten Texts in der jeweiligen Datei hervor. So können Sie leichter erkennen, wo der ausgewählte Text in Ihrem Code erscheint. Wenn Sie das bisherige Verhalten bevorzugen, können Sie diese Funktion unter Settings | Editor | General | Appearance deaktivieren.

Neues Symbol für Meldungen und i18n-Dateien

Die Unterscheidung von Meldungen und i18n-Dateien wird jetzt durch neue Symbole erleichtert. Dieses Update hilft Ihnen, Lokalisierungsdateien in Ihren Projekten schnell zu finden und zu verwalten und sie leichter von Konfigurationsdateien zu unterschieden.

Aktualisiertes New-Popup für Java-Quellcode-Stammverzeichnisse

Das Popup-Fenster New zum Hinzufügen von Dateien zu Java-Quellcode-Stammverzeichnissen zeigt jetzt nur noch die wichtigsten Optionen an, um die Übersichtlichkeit zu erhöhen und Ihren Arbeitsablauf zu vereinfachen. Wenn Sie die bisherige erweiterte Vorlagenliste bevorzugen, können Sie diese unter Settings | Advanced Settings | Java problemlos wiederherstellen.

Schwebende Symbolleiste für JSON-, XML- und YAML-Dateien

Die schwebende Symbolleiste für JSON-, XML- und YAML-Dateien erleichtert den Zugriff auf kontextbasierte und KI-gestützte Aktionen. Wenn Sie einen beliebigen Codeabschnitt auswählen, wird die Symbolleiste mit den verfügbaren Aktionen automatisch angezeigt.

Terminal

Verbesserungen für das neue Terminal
Beta

Das neue Terminal bietet jetzt eine verbesserte Befehlsverarbeitung, und die Ausrichtung der Bedienoberfläche wurde optimiert, um eine reibungslosere und intuitivere Arbeitserfahrung zu ermöglichen. Das Terminal ist jetzt reaktionsschneller und verarbeitet Eingaben schneller. Sie können jetzt reibungslos zwischen Sitzungen wechseln, wobei der Status für jeden Tab konsistent beibehalten wird, um einen unterbrechungsfreien Arbeitsablauf zu gewährleisten. Die Auto-Completion greift schneller auf Befehlsnamen, Flags und Pfade zu und reduziert so die Notwendigkeit manuelle Eingaben. Außerdem haben wir weitere Anpassungsoptionen eingeführt, unter anderem für Eingabeaufforderungsstile, Sitzungsnamen und Umgebungsvariablen, sodass Sie jetzt mehr Kontrolle über Ihre Terminalumgebung haben.

Versionsverwaltung

Effiziente Commits direkt im Editor

Commits Ihrer Änderungen direkt im Editor können jetzt schneller und einfacher vorgenommen werden. Nachdem Sie eine Codezeile bearbeitet haben, klicken Sie auf die Markierung in der Randleiste. Im daraufhin angezeigten Popup können Sie die Änderung in einen bestehenden oder neuen Commit übernehmen. Sie können auch sofort eine Commit-Nachricht eingeben.

Generierung von Titeln und Beschreibungen für Pull- und Merge-Requests

Mit AI Assistant können Sie jetzt direkt in der IDE passende Titel und Beschreibungen für Ihre Pull- und Merge-Requests generieren. Dies vereinfacht Ihren Arbeitsablauf und sorgt dafür, dass Ihre Beschreibungen klar und prägnant sind.

Updates für Find in Files

Die Funktion Find in Files wurde um einen neuen Suchbereich erweitert: Project Files Excluding Git-Ignored. Mit dieser Option werden alle per .gitignore ignorierten Dateien von den Suchergebnissen ausgeschlossen. So können Sie sich beim Durchsuchen Ihres Projekts auf den relevanten Code konzentrieren.

Option zur Deaktivierung von Pre-Commit-Hintergrundprüfungen

Sie können jetzt Hintergrundprüfungen während des Commit-Prozesses mit einer neuen Option Run advanced checks after a commit is done unter Settings | Version Control | Commit verwalten. Mit dieser Einstellung können Sie festlegen, ob Tests und Inspektionen nach einem Commit ausgeführt werden sollen. Wenn Sie möchten, dass diese Prüfungen vor dem Commit abgeschlossen werden, deaktivieren Sie die Option einfach.

Branchname auf Begrüßungsbildschirm

Der Begrüßungsbildschirm zeigt jetzt den Branchnamen an, damit Sie beim Umgang mit mehreren Projektversionen den Überblick behalten und unkompliziert zwischen Arbeitsverzeichnissen wechseln können.

Debugger

Verbesserte HotSwap-Nutzungserfahrung

Wir haben die Verwendung der HotSwap-Funktion einfacher und intuitiver gestaltet. Mit dieser Funktion können Sie geänderte Klassen während einer Debugging-Sitzung neu laden, ohne die Anwendung neu zu starten. Wenn Sie jetzt während einer aktiven Debugger-Sitzung den Code bearbeiten, erkennt IntelliJ IDEA automatisch die Änderungen und bietet Ihnen über eine Schaltfläche im Editor eine unkomplizierte Möglichkeit zum Neuladen. Dadurch wird der Entwicklungsprozess beschleunigt, da der Code in Echtzeit angepasst werden kann. Dabei ist zu beachten, dass HotSwap einige Einschränkungen aufweist, insbesondere bei strukturellen Änderungen. Ausführliche Informationen dazu finden Sie hier.

Aktivieren von Ausnahme-Haltepunkten per Kontextaktion

Sie können jetzt direkt im Editor Ausnahme-Haltepunkte setzen. Öffnen Sie das Kontextmenü für eine throw- oder catch-Anweisung mittels (macOS) bzw. Alt+Enter (Windows/Linux) und wählen Sie dann Enable exception breakpoint. Diese neue Funktion macht das Setzen von Ausnahme-Haltepunkten unkomplizierter, da Sie nicht mehr den Breakpoints-Dialog öffnen oder den Stack-Trace in der Konsole durchsuchen müssen.

Hinweise zur Ausführungszeit von Zeilen

Mit IntelliJ IDEA 2024.3 müssen Sie Ihren Code nicht mehr mit Log-Anweisungen und Timern überfrachten, um die Ausführungszeit bestimmter Zeilen zu messen. Nachdem Sie die Aktion Run to Cursor aufgerufen haben, sehen Sie die Ausführungszeiten für jede Zeile direkt in der Randleiste des Editors. Für eine detailliertere Analyse können Sie über diese Randleistenhinweise die aufgerufenen Methoden aufschlüsseln, zu deren jeweiligen Zeilen ebenfalls die dazugehörigen Ausführungszeiten angezeigt werden.

Zusammengeführter Stack-Trace für asynchronen Code

IntelliJ IDEA 2024.3 unterstützt Sie bei der schwierigen Fehlersuche in asynchronem Code, der Tasks in einem Thread plant und in einem anderen ausführt, wobei jeder Thread seinen eigenen Stack-Trace hat. Die IDE zeigt jetzt einen zusammengeführten Stack-Trace in der Konsole an, anstatt nur den Stack-Trace des Workers zu zeigen – so können Sie den Ablauf der Ausführung leichter verfolgen. Diese Verbesserung ist für Tests standardmäßig aktiviert.

Collection-Darstellung im Debugger

In IntelliJ IDEA 2024.3 können Sie jetzt beim Debuggen Collections durchsuchen. Klicken Sie in der Variables-Ansicht oder im Editor neben einem Collection-Objekt auf View, um eine paginierte Liste der Einträge und eine Strukturansicht zum Untersuchen einzelner Objekte anzuzeigen.

Profiler

Nutzungsdiagramm für Heap-Speicher
Ultimate

Der Profiler wurde um ein Heap-Nutzungsdiagramm erweitert, das auf dem Timeline-Tab oberhalb der Thread-Zeilen angezeigt wird. Diese neue Visualisierung hilft Ihnen, einen Zusammenhang zwischen Arbeitsspeicher-Allokationen und Thread-Aktivitäten herzustellen und potenzielle Speicherlecks und Leistungsengpässe aufzudecken.

Build-Tools

Schnellere Kompilierung von Multimodul-Projekten

Wir haben die parallele Kompilierung in IntelliJ IDEA 2024.3 als Standard eingeführt. In früheren Versionen wurden die Projektmodule einzeln kompiliert, was bei großen Projekten nicht der schnellste Ansatz war. Sie profitieren nun bei allen Maven-basierten Projekten, die von der IDE kompiliert werden, von kürzeren Kompilierungszeiten und einer optimierten CPU- und Speichernutzung.

Reibungslose Handhabung von nicht vertrauenswürdigen SSL-Zertifikaten

IntelliJ IDEA erkennt jetzt automatisch SSL-Probleme bei Maven-Synchronisierungen und -Builds. Wenn ein nicht vertrauenswürdiges Zertifikat die Ursache ist, bietet die IDE an, das Problem zu lösen, indem sie dem Zertifikat vertraut – es sind keine manuellen Schritte erforderlich. Mit diesem Update entfällt das Durchkämmen von Protokollen auf kryptische SSL-Fehler sowie die mühsame manuelle Verwaltung von Zertifikaten im Trust-Speicher des JDK.

Unterstützung für geteilte lokale Maven-Repositories

Wir haben vollständige Unterstützung für geteilte („split“) lokale Maven-Repositories hinzugefügt – eine Funktion, die in Maven 3.9 eingeführt wurde. Dadurch können Sie lokale Repositories nach Bedarf trennen. Sie können eine Gruppierung nach Remote-Repository vornehmen, lokal installierte Artefakte in einem speziellen Ordner speichern oder Artefakte nach Branches mit speziellen Präfixen kategorisieren. Zuvor konnte die Aktivierung von geteilten Repositories in Maven zu Synchronisierungsfehlern in IntelliJ IDEA und somit zu Build- oder Abhängigkeitsproblemen führen. Die vollständige Unterstützung sorgt jetzt für eine reibungslose Synchronisierung und eine effiziente Repository-Verwaltung.

Bazel-Plugin für IntelliJ IDEA
EAP

Das erste öffentliche EAP-Release unseres neuen Bazel-Plugins für IntelliJ IDEA ist jetzt verfügbar. Mit dem Plugin können Sie derzeit Bazel-Projekte für Java und Kotlin öffnen, kompilieren, testen, ausführen und debuggen. Das Plugin bietet Syntaxunterstützung, Completion, Navigation und Debugging für Starlark.

Frameworks und Technologien

Generierung von abgeleiteten Methoden für Spring-Data-Repositories
Ultimate

IntelliJ IDEA kann jetzt automatisch abgeleitete Abfragemethoden in Spring-Data-Repositories generieren. Wenn Sie eine abgeleitete Abfragemethode benötigen, müssen Sie den Repository-Quellcode nicht mehr manuell aktualisieren. Beginnen Sie einfach mit der Eingabe des Methodennamens an der gewünschten Stelle, und IntelliJ IDEA schlägt Ihnen mögliche Methodennamen vor, stellt die richtige Methodensignatur und den passenden Rückgabetyp bereit und aktualisiert den Repository-Code für Sie.

Verbesserungen für Spring Boot Actuator
Ultimate

IntelliJ IDEA bietet jetzt eine verbesserte Unterstützung für Spring Boot Actuator. Wenn Actuator aktiviert ist, stehen Ihnen in der IDE mehr Laufzeitinformationen zur Verfügung. Erstens werden in einem neuen Tab Environment im Toolfenster Run/Debug die von Ihrer Anwendung verwendeten Variablenwerte angezeigt, einschließlich Systemeigenschaften, Umgebungsvariablen und Konfigurationseigenschaften.

Außerdem können Sie jetzt sehen, welche Bedingungen bei der Instanziierung von Beans zur Laufzeit erfüllt wurden, was beim Debuggen einer Anwendung besonders nützlich sein kann, um festzustellen, warum eine Bean nicht funktioniert. Darüber hinaus hebt ein neues Randleistensymbol nicht erfüllte Bedingungen hervor, damit Sie Probleme schneller erkennen können.

Updates für den HTTP-Client
Ultimate

In IntelliJ IDEA 2024.3 können Sie direkt im HTTP-Client mit der Syntax $env.ENV_VAR auf Umgebungsvariablen zugreifen. Dies ermöglicht eine größere Flexibilität bei der Verwaltung und Verwendung von Variablen in Ihren Anfragen und Skripten. Außerdem können Sie jetzt Anfragen aus einer .http-Datei in eine andere Datei importieren und dort ausführen – entweder alle oder nur namentlich ausgewählte Anfragen.

Veröffentlichung von Ktor 3.0
Ultimate

Ktor 3.0, ein Toolkit zum Erstellen von JVM-Serveranwendungen mit Kotlin, wurde veröffentlicht und bietet neue Funktionen sowie eine verbesserte Performance. Die neue Version nutzt Kotlin 2.0 und verbessert die Leistung von IO-Operationen durch den Wechsel zur Bibliothek kotlinx-io. Mehr erfahren.

Optimierte Debugging-Erfahrung für native GraalVM-Images
Ultimate

Wir haben das Debuggen von nativen GraalVM-Images mit Docker-Containern erheblich vereinfacht. Jetzt können Sie native Java-Anwendungen auf jeder Plattform erstellen und debuggen. Geben Sie in der Run-Konfiguration einfach einen Container für die Kompilierung Ihrer Anwendung und einen anderen für die Ausführung an. Sobald die Anwendung ausgeführt wird, können Sie nicht nur im Java-Code, sondern auch auf Assembler-Ebene debuggen. Um die Installation zu erleichtern, stellen wir vorkonfigurierte Docker-Images mit der benötigten Ausstattung an Software und Bibliotheken bereit.

Verbesserungen für OpenTofu und Terraform
Ultimate

Unterstützung für OpenTofu ist jetzt verfügbar. Dieses Update stellt Auto-Completion für Verschlüsselungsmethoden, Schlüsselanbieter und Inspektionen für unbekannte Referenzen bereit.

Die Aktionen für Terraform-Run-Konfigurationen sind über Search Everywhere zugänglich, und die IDE erkennt automatisch ungenutzte Variablen und lokale Werte, um Sie beim Bereinigen Ihres Codes zu unterstützen. Die Steuerelemente für Init, Validate, Plan, Apply und Destroy wurden verbessert und das Formular Run Configuration wurde vereinfacht. Verbesserte Nutzungsindikatoren und Warnungen für ungenutzte Ressourcen erleichtern zudem die Navigation und helfen Ihnen, inaktiven Code zu erkennen.

Verbesserte Unterstützung von Dev-Containern
Ultimate

Dev-Container-Builds funktionieren jetzt reibungsloser auf entfernten Docker-Engines, indem bei remote nicht zugänglichen lokalen Verzeichnissen Fehler vermieden werden. Die Stabilität in WSL wurde durch verbesserte Image-Builds und zuverlässige Verbindungen ebenfalls optimiert.

Die Datei devcontainer.json verarbeitet features konsistenter, und die neue Option updateRemoteUID vermeidet Zugriffskonflikte, indem sie die Benutzeridentität auf den richtigen Wert setzt. Die IDE-Einstellungen in Dev-Containern können über devcontainer.json-Dateien oder über die Schaltfläche Add currently modified settings from IDE angepasst werden, wobei die Auswahl der verfügbaren Optionen durch Auto-Completion erleichtert wird.

Docker-Compose-Verbesserungen
Ultimate

IntelliJ IDEA 2024.3 bietet erweiterte Unterstützung für Docker Compose. Bei der Auto-Completion in env_file werden jetzt .env-Dateien bevorzugt und so die Einrichtung der Umgebung beschleunigt. Neue Build-Optionen – cache_to, no_cache, tags und platforms – bieten eine bessere Kontrolle über Caching und Plattform-Targeting. Die verbesserte Handhabung von depends_on.required und depends_on.restart ermöglicht eine effektivere Verwaltung der Reihenfolge von abhängigen Containern beim Starten und Herunterfahren.

Neue Schlüssel wie deploy.placement.preferences, deploy.resources.pids und deploy.resources.reservations.devices bieten mehr Flexibilität für Serviceplatzierung und Ressourcenlimits. Multi-Kontext-Builds und privilegierte Builds werden jetzt mittels build.additional_contexts und build.privileged unterstützt.

Zu den weiteren Optionen zählen cgroup-Konfigurationen, benutzerdefinierte extra_hosts-Mappings und healthcheck.start_interval. Verbesserte Port-Einstellungen und secrets.environment vereinfachen jetzt die Verwaltung von Geheimwerten über Umgebungsvariablen.

Verbesserte Unterstützung für Projekte in WSL
Ultimate

Wir verbessern weiterhin die Zuverlässigkeit von Projekten, die im Windows-Subsystem für Linux (WSL) gehostet werden und unter Windows in der IDE geöffnet werden. Insbesondere haben wir Unterstützung für symbolische Links eingeführt und die Leistung verbessert, indem wir für die Interaktion mit WSL zu Hyper-V-Sockets gewechselt haben. Wir arbeiten weiterhin an signifikanten Plattformänderungen, um die Performance bei der Verwendung von Remote-Umgebungen wie WSL zu verbessern.

Kubernetes

Unterstützung für Netzwerkrichtlinien
Ultimate

Die IDE unterstützt jetzt Netzwerkrichtlinien, mit denen der Netzwerkverkehr zwischen Pods in einem Cluster verwaltet wird. Dadurch können Sie festlegen, welche Pods Daten mit anderen Pods, Diensten oder externen Quellen austauschen können. Der Hauptzweck von Netzwerkrichtlinien besteht darin, den Netzwerkverkehr zu kontrollieren und einzuschränken, die Pod-Isolierung zu verwalten, die Sicherheit zu gewährleisten und den externen Zugriff zu steuern.

Webentwicklung

Übersichtlichere Suchergebnisse für Verzeichnisse
Ultimate

IntelliJ IDEA schließt jetzt standardmäßig node_modules-Ergebnisse aus, wenn Sie Find in Files in Projektverzeichnissen verwenden, sodass die Menge an irrelevanten Dateien reduziert wird. Sie können das bisherige Verhalten wiederherstellen, indem Sie die Option Search in library files when “Directory” is selected in Find in Files unter Settings | Advanced Settings aktivieren.

Bessere Navigations- und Umbenennungsfunktionen für Framework-Komponenten
Ultimate

Wir haben die im Editor angezeigten Hinweise für Vue-, Svelte- und Astro-Komponenten verbessert. Die Aktion Show component usages findet jetzt Verwendungen sowohl in Importen als auch in Markup-Templates. Wir haben auch einen Filter Show Component Usages hinzugefügt, um Komponentenverwendungen bei der Suche nach regulären Dateireferenzen auszuschließen. Das Rename-Refactoring bietet wiederum eine neue Option zum Einbeziehen von Verwendungen beim Umbenennen einer Komponentendatei.

Verbesserungen für Angular
Ultimate

In Projekten mit Angular 19 verwendet IntelliJ IDEA jetzt den Standalone-Modus für Komponenten, Direktiven und Pipes. Es wurden Quick-Fixes hinzugefügt, um die Konvertierung zwischen Standalone- und Nicht-Standalone-Komponenten zu erleichtern. Bei der Neuformatierung des Codes oder mithilfe einer neuen Inspektion können ungenutzte Standalone-Importe automatisch entfernt werden. Die Unterstützung für die @let-Syntax wurde ebenfalls verbessert.

Datenbank-Tools

Text zu SQL: Diff für KI-generierte Ergebnisse im Editor
Ultimate

Wir haben die AI-Assistant-Erfahrung im Editor verbessert. Wenn Sie AI Assistant bitten, einen Codeabschnitt zu bearbeiten, wird im Editorbereich ein Vergleich zwischen dem ursprünglichen und dem generierten Code angezeigt. Die Vorschläge von AI Assistant werden farblich hervorgehoben und mit einem Revert-Symbol in der Randleiste markiert. Sie können die resultierende Abfrage auch eigenhändig im Diff bearbeiten. Ihre Änderungen werden auf die gleiche Weise hervorgehoben. Zum Beispiel können Sie AI Assistant bitten, mit einer Abfrage mehr Daten abzurufen und anschließend manuell eine ORDER BY-Klausel zum generierten Ergebnis hinzufügen.

SQL-Fehlerbehandlung mit AI Assistant
Ultimate

Im Fehlermeldungsbereich stehen Ihnen jetzt bei der Ausführung von SQL-Abfragen einige nützliche Aktionen zur Fehlerbehandlung mit AI Assistant zur Verfügung. Explain with AI öffnet den KI-Chat und fordert mit einem automatisch versendeten Prompt eine Fehlererklärung von AI Assistant an. Fix with AI korrigiert den Abfragefehler direkt im Editor.

Inspektion für übermäßige Verwendung von JOIN-Klauseln
Ultimate

In bestimmten Fällen ist die Ausführung von Abfragen, die eine große Anzahl an JOIN-Klauseln enthalten, aufgrund von Leistungseinbußen nicht empfehlenswert. Der Editor kann nun solche Abfragen erkennen und markieren. Sie können diese Inspektion in den IDE-Einstellungen aktivieren. Navigieren Sie zu Editor | Inspections, erweitern Sie den Abschnitt SQL und wählen Sie Excessive JOIN count.

Schwebende Symbolleiste für die Paginierung
Ultimate

Um die Paginierung in unserem Dateneditor sichtbarer zu machen, wird das entsprechende Steuerelement statt in der Symbolleiste nun unten in der Mitte des Dateneditors angezeigt.

Fragment-Introspektion und intelligente Aktualisierung für MySQL und MariaDB
Ultimate

IntelliJ IDEA unterstützt jetzt die fragmentarische Introspektion. Zuvor konnte der Introspector nur eine vollständige Introspektion der Schemas in den MySQL- oder MariaDB-Datenbanken durchführen; die Metadaten eines Objekts konnten nicht einzeln aktualisiert werden. Jedes Mal, wenn eine DDL-Anweisung in der Konsole ausgeführt wurde, bei der die Möglichkeit bestand, dass sie ein Objekt im Datenbankschema verändern könnte, führte die IDE eine vollständige Introspektion des gesamten Schemas durch. Das war zeitaufwändig und störte oft den Arbeitsablauf.

Jetzt analysiert IntelliJ IDEA, welche Objekte von einer DDL-Anweisung betroffen sein könnten, und aktualisiert nur diese Objekte. Wenn Sie ein einzelnes Objekt im Database Explorer auswählen und die Aktion Refresh aufrufen, wird nur dieses eine Objekt aktualisiert, anstatt wie bisher das gesamte Schema.

Sonstiges

Einstellung der Unterstützung für globale Menüs in Linux

Linux-Benutzer*innen sollten beachten, dass globale Menüs ab IntelliJ IDEA 2024.3 nicht mehr unterstützt werden.