Das ist neu in IntelliJ IDEA 2024.1

IntelliJ IDEA 2024.1 bietet eine Vielzahl von spannenden Upgrades, die Ihre Arbeitsabläufe vereinfachen. IntelliJ IDEA Ultimate verfügt jetzt über eine ganzzeilige Code-Completion, die Ihnen umfassende Vorschläge für vollständige Codezeilen bietet. Die Unterstützung von Java 22 gewährleistet die Kompatibilität mit den neuesten Sprachmerkmalen. Das überarbeitete Terminal verbessert den Umgang mit der Befehlszeile, während angeheftete Zeilen im Editor die Navigation durch Ihre Codebasis vereinfachen. Version 2024.1 enthält noch Dutzende weitere Verbesserungen in verschiedenen Bereichen der IDE. Lesen Sie weiter, um mehr über sie zu erfahren!

Highlights

Code-Completion für ganze Zeilen
Ultimate

IntelliJ IDEA Ultimate 2024.1 bietet eine Code-Completion für ganze Zeilen in Java und Kotlin. Diese Funktion basiert auf einem fortschrittlichen Deep-Learning-Modell, das nahtlos in die IDE integriert ist. Sie verbessert die Programmiereffizienz, indem sie anhand einer Kontextanalyse ganze Codezeilen vorhersagt und vorschlägt. Diese Vorschläge basieren auf spezialisierten Sprachmodellen, die wir gezielt für unterschiedliche Sprachen und Frameworks trainiert haben und die vollständig auf Ihrem lokalen Gerät ausgeführt werden, sodass Ihre Daten sicher bleiben, da keine Kommunikation mit einem externen Server erforderlich ist. Diese Funktionalität ist im Lizenzabonnement für IntelliJ IDEA Ultimate enthalten. Mehr dazu erfahren Sie in diesem Blogbeitrag.

Unterstützung für Java-22-Sprachmerkmale

IntelliJ IDEA 2024.1 unterstützt den Sprachumfang des im März 2024 veröffentlichten JDK 22. Dies umfasst die Unterstützung für die letzte Iteration von unbenannten Variablen und Patterns, die zweite Preview von String-Templates und implizit deklarierten Klassen sowie main-Instanzenmethoden. Darüber hinaus unterstützt dieses Update neue Anweisungen vor super(...) in ihrer Preview-Phase. Mehr dazu erfahren Sie in diesem Blogbeitrag.

Neues Terminal
Beta

IntelliJ IDEA 2024.1 führt ein überarbeitetes Terminal ein, das sowohl visuelle als auch funktionale Verbesserungen aufweist, um Befehlszeilenaktivitäten zu optimieren. Dieses Update verleiht dem vertrauten Tool ein frisches Aussehen. Die Befehle sind in Blöcke unterteilt und der Funktionsumfang wurde erweitert. Sie können zum Beispiel einfach zwischen den Blöcken navigieren, Completion-Vorschläge für Befehle nutzen und unkompliziert auf den Befehlsverlauf zugreifen. Mehr dazu erfahren Sie in diesem Blogbeitrag.

Angeheftete Zeilen im Editor

Wir haben angeheftete Zeilen im Editor eingeführt, um die Arbeit mit großen Dateien und das Erkunden von neuen Codebeständen zu vereinfachen. Diese Funktion sorgt dafür, dass wichtige Strukturelemente, wie z. B. die Anfänge von Klassen oder Methoden, beim Scrollen am oberen Rand des Editors angeheftet werden. Auf diese Weise bleiben die Bereiche immer im Blick, und Sie können sofort durch den Code navigieren, indem Sie auf eine angeheftete Zeile klicken.

AI Assistant

Verbesserungen im AI Assistant

Verbesserungen im AI Assistant
Ultimate

AI Assistant hat mehrere wichtige Updates erhalten, darunter Verbesserungen bei der Testgenerierung und der Cloud-Code-Completion, benutzerdefinierte Prompts für Commit-Nachrichten, eine Option zum Erstellen von Dateien aus Code-Snippets und eine aktualisierte Codegenerierung im Editor. Mehr dazu erfahren Sie in diesem Blogbeitrag.

Bitte beachten Sie, dass AI Assistant in Version 2024.1 aus dem Installationsumfang entfernt wurde und nun als separates Plugin verfügbar ist. Diese Änderung entstand aus der Notwendigkeit, eine größere Entscheidungsfreiheit in Bezug auf den Einsatz von KI-gestützten Technologien zu bieten und Ihnen mehr Kontrolle über Ihre Präferenzen und Anforderungen hinsichtlich Ihrer Arbeitsumgebung zu geben. AI Assistant erfordert weiterhin ein aktives JetBrains-AI-Abonnement.

Verbesserte Syntaxhervorhebung für Java und Kotlin im AI Assistant

Verbesserte Syntaxhervorhebung für Java und Kotlin im AI Assistant
Ultimate

Wir haben die Syntaxhervorhebung für Java und Kotlin in den Antworten von AI Assistant verbessert. Die Codefarben im KI-Chat sind jetzt genauso wie im Editor, sodass eine bessere Lesbarkeit gegeben ist. Diese Verbesserung soll den Umgang mit den Vorschlägen des AI Assistant intuitiver gestalten, indem direkt im Chat eine editorähnliche Erfahrung bereitgestellt wird.

Benutzererfahrung

IDE-Funktionen für Java und Kotlin während der Indizierung verfügbar

IDE-Funktionen für Java und Kotlin während der Indizierung verfügbar

Grundlegende IDE-Funktionen wie Syntaxhervorhebung und Completion funktionieren jetzt bei Java und Kotlin bereits während der Projektindizierung, sodass sich Ihre IDE-Erfahrung beim Programmstart verbessern sollte. Außerdem können Sie mit Go to class und Go to symbol bereits durch den Code navigieren, bevor das Projekt fertig geladen wurde.

Aktualisierter Projektassistent

Aktualisierter Projektassistent

Um die kognitive Belastung beim Konfigurieren neuer Projekte zu verringern, haben wir das Layout des New Project-Assistenten leicht angepasst. Die Sprachliste befindet sich jetzt in der oberen linken Ecke, wodurch die meistgebrauchten Optionen leichter zu finden sind.

Option zum Herunterskalieren der gesamten IDE

Option zum Herunterskalieren der gesamten IDE

Sie können jetzt die IDE auf 90%, 80% oder 70% herunterskalieren. Dadurch haben Sie die Flexibilität, die IDE-Elemente nach Bedarf zu vergrößern oder zu verkleinern.

Java

Sprachinjektionen in String-Templates

IntelliJ IDEA 2024.1 führt die Möglichkeit ein, Programmiersprachen in String-Templates zu injizieren. Ermöglicht wird dies durch Annotationen, die automatisch die benötigte Sprache auswählen, oder durch die Kontextaktion Inject language or reference (Alt+Enter), die eine manuelle Auswahl aus einer Liste von Sprachen bietet. Bei Verwendung der letzteren Methode bietet die IDE an, die Sprachannotation für Sie einzufügen. Nachdem Sie die Injektion durchgeführt haben, können Sie die Liste der Kontextaktionen erneut aufrufen und das injizierte Fragment in einem separaten Editorfenster öffnen und bearbeiten.

Verbesserter Arbeitsablauf für Protokolle

Da Protokolle eine wichtige Rolle im Entwicklungsalltag spielen, haben wir eine Reihe von Updates vorgenommen, um die diesbezügliche Nutzungserfahrung in IntelliJ IDEA zu verbessern. Sie können jetzt unkompliziert von den Protokollmeldungen in der Konsole zum Code navigieren, der die Meldungen generiert. Außerdem empfiehlt die IDE das Hinzufügen von Loggern an benötigten Stellen und vereinfacht das Einfügen von Logger-Anweisungen, selbst wenn sich die Logger-Instanz nicht im Gültigkeitsbereich befindet. Mehr dazu erfahren Sie in diesem Blogbeitrag.

Neue Inspektionen und Quick-Fixes

Damit Ihr Code sauber und fehlerfrei bleibt, haben wir neue Inspektionen und Quick-Fixes für Java eingeführt. Die IDE erkennt jetzt Bit-Operationen, die durch Aufrufe der Methoden Long.hashCode() oder Double.hashCode() ersetzt werden können, um die Übersichtlichkeit zu verbessern. Außerdem vereinfacht ein neuer Quick-Fix den Wechsel zwischen impliziten und expliziten Klassendeklarationen je nach den Anforderungen Ihres Codebestands. Eine weitere neue Inspektion schlägt vor, vorhandene statische Methoden für passende Codefragmente zu verwenden, wodurch die Wiederverwendung von Code ohne die Einführung zusätzlicher APIs erleichtert wird. Außerdem erkennt und meldet die IDE jetzt unerreichbaren Code, der nie ausgeführt wird.

Verbesserte Nutzungserfahrung mit Multi-Release-JARs

IntelliJ IDEA 2024.1 bietet eine verbesserte Erfahrung bei der Verwendung von Multi-Release-JAR-Bibliotheken. Wenn Sie eine Klasse verwenden, die unterschiedliche Versionen hat, wählt die Funktion Go to declaration jetzt aus dem JAR die zum aktuellen Sprachlevel Ihres Moduls passende Version aus. Außerdem bietet die Funktion Go to class zusätzliche Informationen zur Klassenversion. Wenn Sie beim Debuggen Step Into verwenden, bringt die IDE Sie zur Klasse, die Ihrer JDK-Version (statt der Sprachebene Ihres Moduls) entspricht.

Überarbeiteter Conflicts Detected-Dialog

Überarbeiteter Conflicts Detected-Dialog

In Version 2024.1 haben wir den Dialog Conflicts Detected überarbeitet, um die Lesbarkeit zu verbessern. Der Code im Dialog entspricht nun dem Code im Editor, sodass Sie einen klareren Überblick über Konflikte erhalten, und die IDE speichert Anpassungen der Fenstergröße automatisch für die zukünftige Verwendung. Außerdem haben wir die Schaltflächen und ihr Verhalten aktualisiert, um den Refactoring-Workflow zu vereinfachen, und der Dialog ist jetzt vollständig über die Tastatur zugänglich, sodass Sie problemlos über Tastenkürzel und Pfeiltasten mit dem Dialog interagieren können.

Inlay-Hinweis für Rename-Refactoring

Inlay-Hinweis für Rename-Refactoring

Um den Umbenennungsvorgang einfacher und intuitiver zu gestalten, haben wir einen neuen Inlay-Hinweis implementiert, der über dem geänderten Codeelement erscheint. Um alle Verwendungen im Codebestand auf die neue Version zu aktualisieren, genügt es, auf diesen Hinweis zu klicken und die Änderung zu bestätigen.

Kotlin

Alpha-Phase des K2-Kotlin-Modus

K2-Kotlin-Modus
Alpha

IntelliJ IDEA 2024.1 führt den neuen Kotlin-K2-Modus ein, in dem der integrierte Kotlin-Compiler K2 für eine verbesserte Kotlin-Codeanalyse verwendet wird. Dieses Update gewährleistet nicht nur die Kompatibilität mit künftigen Kotlin-Sprachmerkmalen, sondern erhöht auch die Stabilität der Codeanalyse. Dadurch werden Qualität und Zuverlässigkeit der IDE-Funktionen verbessert und die allgemeine Anwendungsperformance erhöht. Mehr erfahren.

Offizieller Kotlin-Codestil in allen Projekten propagiert

Offizieller Kotlin-Codestil in allen Projekten propagiert

Ab Version 2024.1 wendet die IDE den offiziellen Kotlin-Styleguide als Standardoption für alle Projekte an, sofern nicht explizit etwas anderes vorgegeben wurde. Wenn Ihr bestehendes Projekt zufällig einen älteren Codestil verwendet, ohne dass dieser explizit konfiguriert wurde, wechselt die IDE automatisch zum Codestil gemäß den Kotlin-Programmierkonventionen und weist Sie in einer Benachrichtigung auf diese Änderung hin. Um unerwünschte Formatierungsänderungen zu vermeiden, empfehlen wir Ihnen das Lesen dieses Codestil-Migrationsleitfadens.

Statische Importe beim Kopieren und Einfügen beibehalten

Statische Importe beim Kopieren und Einfügen beibehalten

Version 2024.1 behält statische Importe korrekt bei und stellt sicher, dass sie genauso übertragen werden, wie sie im Quellcode erscheinen. Besonders nützlich ist dies bei verschachtelten Objekten, Enums und statischen Java-Importen.

Scala

Verbesserte Scala-3-Unterstützung

Verbesserte Scala-3-Unterstützung

In der neuen Version haben wir etliche Probleme im Zusammenhang mit der Behandlung bestimmter Syntaxfälle in Scala 3 behoben. Zu den Verbesserungen gehört die Erkennung unzulässiger Modifikatorkombinationen, die Berechnung der Einrückungstiefe, Ausschneiden und Einfügen ohne Beeinträchtigung der Einrückung und Zuordnung von Endmarkierungen zu den jeweiligen Syntaxstrukturen. Auch die Scala-3-Unterstützung im Debugger wurde verbessert, und die Auto-Completion geht jetzt mit einigen Sonderfällen korrekt um, z. B. bei Verwendung mit den Schlüsselwörtern using und given oder mit unapply-Signaturen.

Scaladoc-Verbesserungen

Scaladoc-Verbesserungen

Wir haben zahlreiche kleinere Verbesserungen und Korrekturen hinsichtlich der Hervorhebung von Klassen, Traits und Methodendeklarationen in Scaladoc-Popups und im Schnelldokumentations-Popup vorgenommen. Verschachtelte generische Parameter werden jetzt korrekt eingefärbt, und Modifikatoren für den Feldzugriff werden angezeigt. Außerdem wird der Code innerhalb von Scaladoc-Blöcken mit dreifachen geschweiften Klammern jetzt genauso hervorgehoben wie normaler Scala-Code.

Verbesserte Compiler-basierte Hervorhebung

Verbesserte Compiler-basierte Hervorhebung

Bisher wurde bei Verwendung der compilerbasierten Syntaxhervorhebung der Code automatisch neu kompiliert, wenn Sie zu einem anderen Editor wechselten. In Version 2024.1 haben wir das geändert. Ob der Code neu kompiliert wird, hängt nun davon ab, ob der Editor den Fokus hat. Auf diese Weise kann die compilerbasierte Syntaxhervorhebung schneller auf externe Änderungen in Quellcode- und .class-Dateien reagieren und Situationen vermeiden, in denen gültiger Code rot dargestellt wird.

Verbesserungen für das Scala Build Tool

Verbesserungen für das Scala Build Tool

Die IDE legt jetzt bei neuen SBT-Projekten eine .gitignore-Datei an. Wir haben ein Problem behoben, das zu einer Ausnahme führte, wenn Scala/JVM-Anwendungen zum ersten Mal mit Use sbt for builds ausgeführt wurden. Außerdem wird nun sichergestellt, dass alle transitiven Abhängigkeiten eines Moduls beim Importieren als direkte Abhängigkeiten eingefügt werden.

Play-Framework-Update

Play-Framework-Update

Als Reaktion auf das Kompatibilitätsproblem zwischen älteren Play-Framework-Versionen (2.8 und älter) und dem JDK 17 haben wir eine Warnung eingeführt, die Sie im Play-Assistenten über die Verwendung inkompatibler Versionen von Play und JDK informiert.

Andere Verbesserungen

Wir haben neue Symbole eingeführt: eines für die Sprache Scala im New Project-Assistenten und ein weiteres für SBT unter View | Tool windows. Außerdem werden Sie subtile Verbesserungen bei der Darstellung von Inlay-Hinweisen feststellen: abgerundete Ecken und eine verbesserte Ausrichtung. Die Hilfeseite Settings | Editor | CodeStyle haben wir zudem um eine Scala-Dokumentation ergänzt. In Worksheets werden Kompilierfehler bei Verwendung von Scala 2.13.12 wieder korrekt im Build-Fenster angezeigt, und Importe werden vor der ersten Codekompilierung nicht mehr fälschlicherweise als ungenutzt markiert. Außerdem können Sie jetzt die X-Ray-Funktion feststellen, sodass sie auch nach dem Loslassen der Strg-Taste aktiv bleibt.

Versionsverwaltung

Code-Reviews im Editor

Code-Reviews im Editor

IntelliJ IDEA 2024.1 bietet mit der Einführung eines neuen Review-Modus eine verbesserte Code-Review-Erfahrung für GitHub und GitLab. Diese in den Editor integrierte Funktionalität erleichtert die direkte Interaktion zwischen Autor*innen und Review-Verantwortlichen. Bei der Überprüfung des Branches für Pull-/Merge-Requests wird der Review-Modus automatisch aktiviert, und in der Randleiste zeigen rosa Markierungen an, dass Codeänderungen auf Überprüfung warten. Wenn Sie auf diese Markierungen klicken, wird ein Popup-Fenster mit dem ursprünglichen Code geöffnet, sodass Sie problemlos erkennen können, was geändert wurde. Randleistensymbole helfen Ihnen, schnell neue Diskussionen zu beginnen oder bestehende Diskussionen anzuzeigen und auszublenden. Sie bieten außerdem einen einfachen Zugang zu Kommentaren, sodass Sie diese unkompliziert lesen, beantworten und auf sie reagieren können. Weitere Informationen zu dieser Änderung finden Sie in unserem Blogartikel.

Optionale Anzeige von Branch-Änderungen auf dem Log-Tab

Optionale Anzeige von Änderungen in Review-Branches auf dem Log-Tab

IntelliJ IDEA 2024.1 vereinfacht den Code-Review-Workflow durch eine fokussierte Anzeige von Branch-bezogenen Änderungen. Bei Verwendung von GitHub, GitLab und Space können Änderungen in einem bestimmten Branch jetzt in einem separaten Log-Tab des Git-Toolfensters eingesehen werden. Klicken Sie dazu auf den Branchnamen im Toolfenster Pull Requests und wählen Sie im Menü Show in Git Log aus.

Unterstützung von Reaktionen auf Code-Review-Kommentare

Unterstützung von Reaktionen auf Code-Review-Kommentare

IntelliJ IDEA 2024.1 ermöglicht das Posten von Reaktionen auf Review-Kommentare bei GitHub-Pull-Requests und GitLab-Merge-Requests. Dabei wird eine Vorauswahl von Emojis angeboten.

Status von CI-Prüfungen im Git-Toolfenster

Status von CI-Prüfungen im Git-Toolfenster

Wir haben eine neue Spalte im Log-Tab des Git-Toolfensters eingeführt, mit der Sie die Ergebnisse von GitHub-Commit-Checks, die von Ihrem CI-System durchgeführt wurden, einfach überprüfen können.

Erstellen von Pull-/Merge-Requests aus Push-Benachrichtigungen

Erstellen von Pull-/Merge-Requests aus Push-Benachrichtigungen

Nachdem Sie Ihre Änderungen erfolgreich in die Versionsverwaltung gepusht haben, informiert Sie die IDE nun mit einer einzigen Benachrichtigung über den erfolgreichen Push und empfiehlt eine Aktion, mit der Sie einen Pull-/Merge-Request erstellen können.

Visuelle Markierung für anstehende GitHub-Updates

Anstehende GitHub-Updates werden visuell angezeigt

Wir haben visuelle Markierungen eingeführt, die Sie über anstehende Updates innerhalb Ihres Code-Review-Workflows informieren. Wenn es Änderungen gibt, die Ihre Aufmerksamkeit erfordern, wird auf dem Toolfenster-Symbol ein Punkt angezeigt. Ungelesene Pull-Requests werden ebenfalls mit einem blauen Punkt gekennzeichnet, damit Sie keine Updates in Ihrem Code-Review-Prozess verpassen.

Verhindern von Commits großer Dateien

Verhindern von Commits großer Dateien

Um Abweisungen durch die Versionsverwaltung aufgrund übergroßer Dateien zu vermeiden, bietet die IDE jetzt eine Pre-Commit-Prüfung, die Commits solcher Dateien verhindert und Sie über die Einschränkung informiert.

Merge-Option „Allow unrelated histories“

Merge-Option Allow unrelated histories

Der Merge into-Dialog bietet jetzt im Dropdown-Menü die Option Allow unrelated histories. Wenn diese Option aktiviert ist, ist das Mergen von zwei Branches selbst dann möglich, wenn sie keine gemeinsame Historie haben.

Branch-Filter im History-Tab des Git-Toolfensters

Branch-Filter im History-Tab des Git-Toolfensters

Im Git-Toolfenster wurde die Schaltfläche Show all branches durch einen Branch-Filter ersetzt, mit dem Sie Änderungen in einer Datei innerhalb eines bestimmten Branches überprüfen können. Für eine einfachere Bedienung haben wir außerdem die Symbolleiste horizontal ausgerichtet.

Stash-Tab im Commit-Toolfenster

Stash-Tab im Commit-Toolfenster

Für Benutzer*innen, die temporäre, nicht per Commit übernommene Änderungen in Stashes speichern, haben wir für einen einfacheren Zugriff einen entsprechenden Tab im Commit-Toolfenster eingeführt. Wenn Sie sowohl die Stash- als auch die Shelve-Funktion verwenden, können Sie einen kombinierten Tab Stashes and Shelves über ein entsprechendes Kontrollkästchen in Settings/Preferences | Version Control | Git aktivieren.

Optionaler Ausschluss von Ordnern und Dateien von Vergleichen

Optionaler Ausschluss von Ordnern und Dateien von Vergleichen

Im Diff-Betrachter können Sie jetzt Ordner und Dateien angeben, die beim Vergleichen ignoriert werden sollen, um sich ausschließlich auf relevante Änderungen zu konzentrieren. Klicken Sie einfach mit der rechten Maustaste auf die Datei oder den Ordner, der nicht in den Vergleichsergebnissen erscheinen soll, und wählen Sie im Kontextmenü Exclude from results aus.

Verbesserte Suche im Branches-Popup

Verbesserte Suche im Branches-Popup

Im Branches-Popup können Sie die Suchergebnisse jetzt nach Aktionen und Repositories filtern. Auf diese Weise können Sie schneller und präziser in Ihrem Versionsverwaltungssystem navigieren.

Git-Tab aus Search-Everywhere-Dialog entfernt

Git-Tab aus Search Everywhere-Dialog entfernt

Nach Analyse der Nutzungsstatistiken wird der Git-Tab nicht mehr standardmäßig im Search Everywhere-Dialog angezeigt. Wenn Sie ihn wiederherstellen möchten, aktivieren Sie das Kontrollkästchen Show Git tab in Search Everywhere unter Settings / Preferences | Advanced Settings | Version Control. Git.

Build-Tools

Schnelleres Öffnen von Maven-Projekten

IntelliJ IDEA konstruiert jetzt das Projektmodell durch Parsen der pom.xml-Dateien. Dadurch entsteht innerhalb von Sekunden eine nutzbare Projektstruktur, während das komplette Projektmodell mit allen Abhängigkeiten im Hintergrund erstellt wird. So können Sie mit dem Projekt arbeiten, ohne das Ende der vollständigen Synchronisierung abwarten zu müssen.

Unterstützung für den Umbenennungsworkflow des Maven-Shade-Plugins

IntelliJ IDEA 2024.1 führt die lang erwartete Unterstützung für die Umbenennungsfunktion des Maven-Shade-Plugins ein. IntelliJ IDEA erkennt jetzt den Umbenennungs-Workflow und bietet eine korrekte Syntaxhervorhebung und Codenavigation, wenn Sie mit Ihrem „Shaded“-JAR und dessen Abhängigkeiten arbeiten.

Direkter Zugriff auf Quellcode-Dateien über das Schnelldokumentations-Popup

Direkter Zugriff auf Quellcode-Dateien über das Schnelldokumentations-Popup

Das Schnelldokumentations-Popup bietet jetzt eine einfache Möglichkeit zum Herunterladen von Quellcode. Wenn Sie beim Lesen der Dokumentation einer Bibliothek oder Abhängigkeit auf den Quellcode zugreifen möchten, können Sie jetzt einfach F1 drücken. Das aktualisierte Popup bietet einen direkten Link für den Download der erforderlichen Quellcode-Dateien – eine erhebliche Arbeitserleichterung.

Maven-Repositories im Maven-Toolfenster

Maven-Repositories im Maven-Toolfenster

Die Liste der Maven-Repositories sowie deren Indizierungsstatus wird jetzt statt in den Maven-Einstellungen im Maven-Toolfenster angezeigt.

Update der Gradle-Versionsunterstützung

Ab dieser Version unterstützt IntelliJ IDEA keine Projekte, die Gradle-Versionen vor 4.5 verwenden. Die IDE führt keine Gradle-Synchronisierung für Projekte mit nicht unterstützten Gradle-Versionen durch.

Ausführung/Debugging

Inline-Haltepunkte für mehrere Anweisungen

Inline-Haltepunkte für mehrere Anweisungen

IntelliJ IDEA 2024.1 bietet eine praktischere Methode zum Setzen von Haltepunkten in Zeilen, die Lambda-Funktionen oder Return-Anweisungen enthalten. Sobald Sie durch einen Klick auf die Randleiste einen Haltepunkt gesetzt haben, zeigt die IDE automatisch Markierungen innerhalb der Zeile an, mit denen Sie weitere Haltepunkte setzen können. Jeder Haltepunkt kann unabhängig konfiguriert werden, was Ihre Debugging-Möglichkeiten erweitert.

Gefaltete Bibliotheksaufrufe in der Aufrufliste

Bibliotheksaufrufe werden jetzt in der Aufrufliste des Debug-Toolfensters standardmäßig durch eine Faltfunktion ausgeblendet, damit Sie sich beim Navigieren auf den eigenen Code konzentrieren können. Wenn Sie sich einmal eine Bibliotheksaufruf-Sequenz näher ansehen möchten, können Sie die Gruppe erweitern und Frame für Frame untersuchen. Um die Liste einzublenden, klicken Sie in der Symbolleiste auf das Filter-Symbol oder deaktivieren Sie im Kontextmenü die Option Hide Frames from Libraries.

Coverage von bedingten Anweisungen

Coverage von bedingten Anweisungen

Mit Version 2024.1 bietet IntelliJ IDEA eine noch umfassendere Test-Coverage-Funktion. Im Mittelpunkt dieses Updates steht die Identifizierung von bedingten Anweisungen, die nicht vollständig durch Tests abgedeckt sind. Ab sofort zeigt IntelliJ IDEA einerseits an, welche Zeilen nicht getestete Bedingungen enthalten, und andererseits werden alle Bedingungszweige oder Variablenwerte identifiziert, die nicht getestet werden. Diese Funktion ist standardmäßig aktiviert und kann unter Settings/Preferences | Build, Execution, Deployment | Coverage gesteuert werden.

Code-Coverage-Einstellungen jetzt in den IDE-Haupteinstellungen

Code-Coverage-Einstellungen jetzt in den IDE-Haupteinstellungen

Die Code-Coverage-Einstellungen wurden aus dem Popup Run Configuration in das Popup Settings/Preferences | Build, Execution, Deployment | Coverage verschoben. Durch diese Änderung entfällt die Notwendigkeit, die Konfiguration für jeden Testlauf einzeln zu aktualisieren, um einen Coverage-Runner auszuwählen oder erweiterte Funktionen zu aktivieren, beispielsweise um zu erfassen, welche Tests eine bestimmte Codezeile abdecken.

Vereinfachter Import von JaCoCo-Test-Coverage-Berichten

Code-Coverage-Daten, die der JaCoCo-Runner in Ihrer CI/CD-Pipeline erfasst, können jetzt unkomplizierter importiert, durchsucht und analysiert werden. Wenn im Coverage-Toolfenster gerade keine Berichte angezeigt werden, erscheint dort nun ein direkter Link zum Importieren von JaCoCo-Berichten. Auch in der Symbolleiste des Fensters haben wir ein Import-Symbol eingefügt, mit dem Sie JaCoCo-Berichte als .exec-Datei importieren können.

Frameworks und Technologien

Bean-Completion und Autowiring in Spring verbessert

Bean-Completion und Autowiring in Spring verbessert
Ultimate

IntelliJ IDEA Ultimate bietet jetzt Auto-Completion und automatisches Autowiring für alle Beans im Anwendungskontext. Beim Autowiring von Abhängigkeiten im Konstruktor einer Bean erfolgt automatisch auch das Wiring des entsprechenden Feldes über den Konstruktor. Wenn wiederum Abhängigkeiten über Felder oder über die @RequiredArgsConstructor-Annotation von Lombok injiziert werden, erfolgt das Wiring der neuen Bean automatisch über das Feld.

Verbesserte Spring-Diagramme
Ultimate

Wir haben den Zugriff auf Spring-Modelldiagramme vereinfacht. Sie können sie über die Bean-Zeilenmarkierungen oder über eine für Spring-Klassen verfügbare Kontextaktion (Alt+Enter) aufrufen. Neue Symbole in Spring-Diagrammen verbessern die Darstellung von Spring-Stereotypen wie Komponenten, Controllern, Repositories und Konfigurationsbeans. Außerdem können Sie jetzt unkompliziert die Sichtbarkeit von Beans aus Bibliotheken umschalten; standardmäßig sind sie nicht sichtbar.

Verbesserungen im HTTP-Client
Ultimate

Der HTTP-Client bietet in Version 2024.1 mehr Authentifizierungsoptionen, einschließlich PKCE Authorization Code und Device Grant. Er unterstützt außerdem zusätzliche Parameter für Token- und Authentifizierungsanfragen sowie die automatische code_challenge-Generierung und die Übergabe von code_verifier für die Token-Abfrage bei PKCE-Anfragen. Durch das Upgrade des HTTP-Clients auf Netty als Low-Level-Netzwerkbibliothek können SSL, Proxies und HTTP/2 unterstützt werden, sodass die Implementierung von HTTP/2 erleichtert wird. Außerdem wurde die Symbolleiste des HTTP-Clients überarbeitet und an den neuen UI-Stil angepasst. Dadurch ergibt sich ein optimiertes und einheitliches Erscheinungsbild.

Endpoints-Tab in Search Everywhere

Endpoints-Tab in Search Everywhere
Ultimate

Wir haben den Dialog Search Everywhere um den Tab Endpoints erweitert. Dieser wird für Projekte angezeigt, in denen URL-Suchergebnisse relevant sind. Derzeit blendet die IDE diesen Tab automatisch ein, wenn sie Spring-, Micronaut-, Ktor- oder Quarkus-Elemente in Ihrem Projekt erkennt.

Code-Completion für HTTP-Header

Code-Completion für HTTP-Header
Ultimate

Die HTTP-Header-Completion funktioniert jetzt sehr einfach in allen Szenarien, z. B. mit Spring WebClient und REST-Assured-Tests. Wenn ein erwarteter Wert angetroffen wird, erscheint automatisch ein Completion-Popup.

Optimierte Verarbeitung von JSON-Schemata

Optimierte Verarbeitung von JSON-Schemata
Ultimate

Wir haben den Code für die Validierung und Completion von JSON-Schemata optimiert. Dadurch erledigt die IDE diese Aufgaben jetzt schneller und mit einem geringeren Speicherbedarf. In realen Dateien mit Azure Pipelines werden Schema-Inspektionen jetzt 10-mal so schnell wie bisher ausgeführt.

Quarkus-Updates
Ultimate

Wir haben einen neuen Einstellungseditor für Quarkus-Run-Konfigurationen eingeführt. Der Dialog Run/Debug Configuration bietet jetzt eine verbesserte Benutzerführung für Maven- und Gradle-Projekte, mit einfachem Zugriff auf häufig verwendete Einstellungen wie Run profile und Environment variables. Ein neues Symbol in der Werkzeugleiste des Run-Toolfensters bietet einen einfachen Zugriff auf die Quarkus-Dev-UI.

Unterstützung für OpenRewrite
Ultimate

Durch die Integration von OpenRewrite erweitert IntelliJ IDEA Ultimate 2024.1 die bestehenden Refactoring-Funktionen der IDE und bietet Ihnen eine Toolsammlung zur Verbesserung der Qualität, Einheitlichkeit und Wartbarkeit Ihres Codes. Mit den Rezepten von OpenRewrite können Sie alten Code modernisieren, die Leistung optimieren und komplexe Migrationsaufgaben wie das Upgrade auf eine neue Spring-Boot-Version bewältigen.

WireMock-Serverunterstützung
Ultimate

WireMock wird über ein Plugin unterstützt, das Sie direkt in der IDE installieren oder über den JetBrains Marketplace beziehen können. Die Integration umfasst eine Schema-Completion für JSON-Konfigurationen, die Generierung von WireMock-Stub-Dateien im Endpoints-Toolfenster sowie eine integrierte Run-Konfiguration, mit der Sie Ihre Server direkt vom Editor aus starten können. Durch diese Neuerung können Sie im Handumdrehen Testdaten-Server oder -Stubs anlegen und so die Entwicklung von Web-UIs und Microservices vereinfachen.

Verbesserte Terraform-Unterstützung
Ultimate

Durch eine verbesserte Terraform-Unterstützung vereinfacht IntelliJ IDEA Ultimate 2024.1 die Einrichtung, Verwaltung und Skalierung Ihrer Infrastruktur. Die IDE vereinfacht jetzt die Initialisierung durch die explizite Empfehlung, terraform init auszuführen, und stellt erweiterte Code-Completion-Funktionen für mehr als 3.900 Terraform-Drittanbieter bereit. Als weitere Neuerung unterstützt die IDE außerdem die Template-Sprache von Terraform (tftpl), sodass Sie dynamische Templates reibungslos in Ihre bevorzugte Programmiersprache integrieren können. Weitere Details finden Sie in unserem Blogartikel.

Datenbank-Tools

Lokale Filterung im Dateneditor

Lokale Filterung im Dateneditor
Ultimate

Dieses Release führt die lang erwartete lokale Filterung im Dateneditor ein. Sie haben jetzt die Möglichkeit, Zeilen schnell nach Spaltenwerten zu filtern, ohne die Datenbank neu abzufragen. Dieser lokale Ansatz wirkt sich nur auf die aktuelle Seite aus. Um den Wirkungsbereich zu erweitern, können Sie die Seitengröße anpassen oder alle Daten abrufen. Um alle lokalen Filter zu deaktivieren, deaktivieren Sie das Symbol Enable Local Filter.

Vereinfachte Sitzungen

Vereinfachte Sitzungen
Ultimate

IntelliJ IDEA Ultimate 2024.1 vereinfacht die Ausführung von Abfragen, da Sie nun keine Sitzungen mehr manuell auswählen müssen. Um eine Datei anzuhängen, genügt es, die Datenquelle anzugeben – eine spezifische Sitzung müssen Sie nicht mehr auswählen. Außerdem müssen Sie zum Starten von Funktionen nicht mehr eine Sitzung auswählen. Dadurch können Sie Funktionen jetzt auch direkt von der Konsole oder einer Datei aus starten. Diese Änderungen sollen die Lernkurve des Tools minimieren, unnötige Schritte reduzieren und die allgemeine Bedienfreundlichkeit verbessern.

Webentwicklung

Verbesserte Schnelldokumentation

Verbesserte Schnelldokumentation
Ultimate

Wir haben das Schnelldokumentations-Popup erheblich verbessert. Dieses bietet jetzt Syntaxhervorhebung für Codeblöcke. In TypeScript werden jetzt Schnittstellen-Member, Enum-Konstanten und Typ-Aliasnamen angezeigt. Der Link Show more führt zu einer vollständigen Liste der Typmember und ermöglicht das Navigieren zu den referenzierten Typen. Außerdem können Sie jetzt mit der Seitensteuerung am oberen Rand des Dialogs zwischen mehreren Schnittstellendeklarationen, Typ-Aliasnamen, Enums, Funktionen und anderen Elementen navigieren.

Quick-Fixes für die Erstellung von Props und States in React

Quick-Fixes für die Erstellung von Props und States in React
Ultimate

IntelliJ IDEA Ultimate 2024.1 führt mehrere neue Quick-Fixes für React ein, mit denen Sie unkompliziert Props und States anlegen können. Sie können diese Quick-Fixes mit dem Tastenkürzel Alt+Enter aufrufen.

Language-Services-Widget

Language Services-Widget
Ultimate

In der Statusleiste finden Sie das neue Widget Language Services. Dieser bietet einen Überblick über die aktiven Sprachdienste für die aktuelle Datei und das gesamte Projekt. Sie können direkt in diesem Widget Dienste neu starten oder zu deren Einstellungen navigieren.