IntelliJ IDEA News Releases

IntelliJ IDEA 2021.3 ist da!

IntelliJ IDEA 2021.3, die letzte Hauptversion des Jahres 2021, ist jetzt verfügbar! Laden Sie sie von unserer Website oder über die Toolbox-App herunter. Sie können das Update auch innerhalb der IDE oder (in Ubuntu) über Snaps erhalten.

In dieser Version haben wir neue Funktionen und Qualitätsverbesserungen eingeführt, die der Benutzererfahrung in IntelliJ IDEA zugute kommen. Beim Thema Qualität war uns Ihr Feedback in unserem Issue-Tracker besonders wichtig. Sollten Sie bei dieser Version auf irgendwelche Probleme stoßen, melden Sie uns diese bitte weiterhin in diesem Tracker.

In diesem Beitrag stellen wir Ihnen die wichtigsten Funktionen und Verbesserungen in IntelliJ IDEA 2021.3 vor. Weitere Details finden Sie auf unserer Das ist neu-Seite und sowie in unserer EAP-Blogreihe.

Wichtige Updates

  • Mit der Remote-Entwicklungsfunktion (Beta) können Softwareentwickler*innen jetzt eine Verbindung zu einem Remote-System herstellen, ein IDE-Backend darin installieren und ein Remote-Projekt genauso einfach bearbeiten, als würde es sich auf ihrem lokalen System befinden. Sie können diese Funktion entweder über den Begrüßungsbildschirm von IntelliJ IDEA oder durch Herunterladen von JetBrains Gateway in der Toolbox-App nutzen.
  • Ihre IDE bietet jetzt eine neue, schnellere Möglichkeit zur Diagnose und Behebung von Problemen: die Aktion Repair IDE… im File-Menü.
  • Die Aktion Smart Step Into funktioniert jetzt auch mit Kotlin. Beim Debuggen eines Ausdrucks mit verketteten Methodenaufrufen und Lambdas hebt diese Funktion die Methoden und Lambdas hervor, in die Sie einsteigen können.
  • Der Debugger erkennt Kotlin-Inline-Funktionen und kann Inline-Funktionsaufrufe im Stack-Trace-Panel anzeigen.
  • Mit der neuen Kotlin-Inspektion Constant conditions weist IntelliJ IDEA auf nicht-triviale Bedingungen und Werte hin, von denen statisch bekannt ist, dass sie immer wahr, falsch, null oder 0 sind. Die Funktionsweise entspricht der gleichen Inspektion für Java.

Editor

  • Sie können die Schriftgröße in allen geöffneten Tabs gleichzeitig mit dem Mausrad anpassen (⌘+Mausrad auf macOS und Strg+Mausrad auf Windows und Linux).
  • Sie können jetzt ganz einfach Tabellen in Ihre Markdown-Dateien einfügen.
  • Der Umgang mit Editor-Tabs ist jetzt noch einfacher geworden. Klicken Sie auf die drei Punkte in der rechten Ecke der Tableiste, um auf alle Tab-bezogenen Aktionen zuzugreifen.
  • Die Intention-Vorschau funktioniert jetzt mit mehr Intention-Aktionen und Quick-Fixes in Kotlin und zeigt HTML-formatierte Beschreibungen für die Intention-Aktionen an, die von der Vorschau nicht unterstützt werden.

Benutzererfahrung

  • Wenn Sie Dateien, Ordner oder Klassen mit F3 (macOS) bzw. F11 (Windows und Linux) als wichtig markieren, werden sie im neuen Bookmarks-Toolfenster angezeigt. Weitere Informationen zu dieser Funktion finden Sie in diesem Blogartikel.
  • Sie können jetzt das Run-Toolfenster in Tabs aufteilen. Auf diese Weise können Sie bei der parallelen Ausführung mehrerer Konfigurationen die Ergebnisse gleichzeitig sehen.
  • Wenn Sie mit Search Everywhere nach Aktionen suchen, verwendet IntelliJ IDEA Machine Learning zur Bewertung der Ergebnisse.
  • Der überarbeitete Knoten Empty Project im Projektassistenten ermöglicht das Anlegen eines grundlegenden Projekts, in dem Sie mit unterschiedlichen Dateitypen arbeiten und auch Java- und Kotlin-Klassen erstellen können.
  • Mit dem neuen Knoten Multi-Module Project erstellen Sie ein neues Projekt mit komplexer Struktur.
  • Standardmäßig sucht IntelliJ IDEA jetzt auch nach übergeordneten Methoden, wenn Sie mit ⌥ F7 (macOS) bzw. Alt+F7 (Windows und Linux) nach Verwendungen einer Methodenimplementierung suchen.
  • Der Dialog Show Usages bietet jetzt eine Quellcode-Vorschau für die einzelnen Vorkommen, ermöglicht das Ändern des Suchbereichs und bietet die Option, den Typ des gesuchten Codeelements und die Anzahl der gefundenen Verwendungen anzuzeigen.

Updates für die Barrierefreiheit

  • Wenn der Screenreader aktiv ist, zeigt die IDE das Toolfenster-Widget-Popup und das Kurzdokumentations-Popup, die früher beim Überfahren mit der Maus angezeigt wurden, nicht mehr an.
  • Wir haben auch ein Problem beim Aufrufen des Dialogs Go to Declaration behoben.
  • Auch unter macOS wurde die Barrierefreiheit verbessert. Wir haben mehrere Probleme mit dem Voiceover-Fokus gelöst, und bei der Projekterstellung können Screenreader jetzt die Listenelemente im Projektassistenten erkennen.
  • Um das Ablenkungspotenzial beim Programmieren zu minimieren, haben wir die Anzahl der Hilfe-Tooltips verringert, auf die mit einem Ton hingewiesen wird.

Java

  • Mit der neuen Inspektion „Non-safe string passed to a safe method“ hilft Ihnen IntelliJ IDEA, die Weitergabe unsicherer Daten an sichere Methoden zu vermeiden, wenn das Projekt die Annotationen von org.checkerframework.checker.tainting verwendet. Diese Inspektion erleichtert unter anderem die Erkennung von SQL-Injection- und XSS-Sicherheitslücken.
  • Wir haben zwei neue Inspektionen hinzugefügt, die Sie beim Vereinfachen Ihres Codes unterstützen. Die erste schlägt vor, collect(toList()) durch .toList() zu ersetzen. Zur Verwendung wird eine Java-Version ab 16 benötigt. Die andere Inspektion bietet an, collection.addAll(List.of(“x”)) durch collection.add(x) und map.putAll(Map.of(“a”, “b”)) durch map.put(“a”, “b”) zu ersetzen.
  • Die Einstellungen für die Einführung einer lokalen Variablen in Java werden nicht mehr in einem Popup angezeigt, das den Code, den Sie gerade schreiben, verdeckt. Stattdessen können Sie auf diese Optionen zugreifen, indem Sie auf das Zahnradsymbol neben der Variable klicken oder das Tastenkürzel ⌥+⇧ +O (macOS) bzw. Alt+Umschalt+O (Windows) drücken.
  • Wenn Sie das Refactoring Introduce parameter aufrufen, fragt die IDE, wo die Vorkommen ersetzt werden sollen. Nachdem Sie diese Auswahl getroffen haben, können Sie über ein Zahnradsymbol weitere Einstellungen für das Refactoring konfigurieren.
  • Sie können im Dialog Run/Debug Configurations benutzerdefinierte Klassenpfade für einzelne Konfigurationen einstellen, indem Sie Modify options | Modify classpath auswählen.

Kotlin

  • Ein neues Refactoring ermöglicht das Extrahieren von Konstanten in Kotlin.
  • Die Inspektion Possibly blocking call in non-blocking context kann jetzt angepasst werden, deckt mehr Fälle ab und bietet einen Quick-Fix.
  • Wir haben Inline-Hints eingeführt, die mithilfe einfacher mathematischer Zeichen die Bedeutung von Wörtern bzw. Symbolen in Ranges erklären.
  • Wir haben das Layout des Projektassistenten überarbeitet. Alle Felder werden jetzt durch Tooltips erklärt, einige kaum genutzte Vorlagen wurden entfernt und dafür eine neue hinzugefügt, mit der Sie eine Compose-Webanwendung erstellen können. Außerdem wurde die Projekteinrichtung vereinfacht.

JavaScript

  • Sie können Ihre npm-Pakete direkt im Editor auf die neueste Version aktualisieren.
  • Die Funktionsweise der HTML-Completion wurde verbessert. Wenn Sie im Editor einen Tag-Namen oder eine Abkürzung eingeben oder die Code-Completion explizit aufrufen, zeigt IntelliJ IDEA sofort relevante Vorschläge an.

Scala

  • Einer der Schwerpunkte dieser Version war die Scala-3-Unterstützung. Wir haben Hervorhebung, Navigation und Auto-Completion für end-Markierungen, die Schlüsselwörter given, using und export, Soft-Schlüsselwörter sowie die klammerlose „Quiet“-Syntax hinzugefügt. Außerdem kann der TASTy-Reader jetzt Paketobjekte sowie Varianz und Bounds bei höherwertigen Typen parsen.
  • Cross-kompilierte (Scala 3/Scala 2) Projekte können jetzt als Scala-2-Projekte geöffnet werden.
  • Das Scala-Plugin unterstützt jetzt die Datenflussanalyse, mit der Sie Programmierfehler leichter erkennen können.
  • Die Scala-Compileroptionen werden jetzt automatisch vervollständigt, und Sie können sogar eine Schnelldokumentation für die einzelnen Optionen aufrufen.
  • Für Ranges in Scala können Inlay-Hints angezeigt werden.

SSH

  • Sie können in Preferences / Settings | Tools | SSH Configurations unter SSH configuration einen HTTP- oder SOCKS-Proxyserver angeben.

Profiler

  • Die Windows-Version von IntelliJ IDEA Ultimate unterstützt standardmäßig Async Profiler 2.0.
  • Durch den Vergleich von Snapshots können Sie überprüfen, ob Ihre Änderungen wie beabsichtigt funktionieren oder eine Regression verursacht haben.

Build-Tools

  • Die Maven-Konfigurationen wurden erheblich überarbeitet. Die wichtigsten Parameter sind alle auf einem Bildschirm zusammengefasst, während zusätzliche Parameter unter Modify options zugänglich sind.
  • Sie können jetzt die Maven-Einstellungen für jedes Projekt in der .mvn/maven.config-Datei konfigurieren, indem Sie unter Preferences / Settings | Build, Execution, Deployment | Maven die Option Use settings from .mvn/maven.config aktivieren.

Versionsverwaltung

  • Die Aktion Checkout und Rebase onto Current kann auch für Remote-Branches verwendet werden.
  • Die Anordnung der Einstellungen unter Preferences / Settings | Version Control wurde verbessert, und die wichtigsten Konfigurationsoptionen sind jetzt leichter zu finden.
  • Die Unterschiede zwischen Commits werden jetzt in einem separaten Changes-Toolfenster links neben dem Editor angezeigt.
  • Die neue Aktion Push All up to Here bietet Ihnen die Möglichkeit, nur diejenigen Commits zu pushen, von denen Sie überzeugt sind – den Rest können Sie für später aufheben.
  • Die neue Option Align Changes Highlighting verbessert die Lesbarkeit von Diffs, indem die unveränderten Zeilen so ausgerichtet werden, dass sie nebeneinander angezeigt werden. Auf diese Weise lassen sich hinzugefügte oder entfernte Codeabschnitte klarer erkennen.

Terminal

  • Die neu eingeführte Unterstützung für die ConPTY-API unter Windows behebt mehrere Probleme mit der alten Implementierung und ermöglicht die Unterstützung von 24-Bit-Farben im Terminal.
  • Die neue Type-Ahead-Unterstützung im Terminal nimmt Textänderungen vorweg und zeigt sie sofort hellgrau an.

Debugger

  • Das Evaluate-Feld ist jetzt direkt im Debug-Toolfenster zugänglich. Damit rückt die praktischste Methode zum Auswerten von Ausdrücken deutlicher ins Blickfeld der Nutzer*innen.

Frameworks und Technologien

  • Der HTTP-Client von IntelliJ IDEA bietet grundlegende Unterstützung für gRPC-Anfragen, einschließlich Code-Completion und der Möglichkeit, gRPC-Anfragen im HTTP-Client zu generieren.
  • Beim Testen von Streaming-Anwendungen in IntelliJ IDEA müssen Sie nicht mehr auf das Ende eines Streams warten: Der HTTP-Client zeigt die erhaltenen Inhalte direkt an.
  • Der HTTP-Client erkennt Bilder in Antworten und zeigt sie in einer Vorschau in der Antwortkonsole an.
  • Sie können die Ausgabe des HTTP-Clients in eine benutzerdefinierte Datei oder ein benutzerdefiniertes Verzeichnis umleiten. Ermöglicht wird dies durch die Operatoren >> und >>! .
  • Anfragen können benannt werden – entweder in Form eines Kommentars (@name) oder als Text in der ersten Trennlinie (###).
  • Qute-Vorlagen bieten Unterstützung für Ihre Quarkus-Projekte.
  • IntelliJ IDEA erkennt auf mehrere Dateien verteilte und über $ref verknüpfte OpenAPI-Spezifikationen und bietet Completion für sie an.
  • Wenn Sie „org.jetbrains:annotations:22.0.0“ in Ihre Projektabhängigkeiten aufnehmen, können Sie Klassen und Methoden als @Blocking oder @NonBlocking annotieren. Dadurch erkennt die IDE blockierende Aufrufe in nicht blockierenden Kontexten wie Kotlin-Coroutinen oder in reaktivem Code, der mit Project Reactor, RxJava oder SmallRye Mutiny erstellt wurde.
  • Die Erkennung von blockierendem Code in Spring und Java EE wurde verbessert.
  • Der Dialog Run/Debug Configurations für Spring-Boot-Projekte wurde überarbeitet. Die wichtigsten Einstellungen sind jetzt auf einem Bildschirm zusammengefasst, und weitere Parameter sind über Modify Options zugänglich.
  • IntelliJ IDEA bietet Code-Completion in weiteren Konfigurationsdateien (.properties oder. yaml), wenn in einem spring.config.import-Schlüssel auf eine andere Datei verwiesen wird.
  • In Spring-Boot-Projekten bietet die IDE jetzt Code-Completion sowie Verwendungssuche für Verweise auf application.yaml aus @Value, @Scheduled und Environment.getProperty() an.
  • Für Abfragen, die in Spring-Data-JPA-Projekten als @NamedQuery deklariert sind, werden jetzt Abfragemethoden-Vorschläge bereitgestellt. Sie können außerdem über das Randleistensymbol zur Definition einer @NamedQuery navigieren.
  • Alle CDI-Inspektionen können in Kotlin-Dateien verwendet werden, und CDI-Randleistensymbole sind ebenfalls verfügbar. Diese Symbole ermöglichen eine schnelle Navigation zu Injektionspunkten oder Injektionskandidaten, Bean-Makern, Disposer-Methoden und Ereignissen.
  • Sowohl in Java als auch in Kotlin wurden alle Vorgänge in Verbindung mit UML-Klassendiagrammen beschleunigt. Weitere wichtige Änderungen sind ein neues Raster, die Hervorhebung von Membern und ein Dokumentationsvorschau-Popup.

Space-Integration

  • Sie können jetzt für Ihre in Space gespeicherten Projekte Merge-Requests einreichen und Code-Reviews erstellen.
  • IntelliJ IDEA markiert alle noch nicht überprüften Dateien mit blauen Punkten, damit Sie bei Ihren Code-Reviews keine wichtigen Änderungen übersehen.

Datenbank-Tools

  • Für Zellenbereiche steht jetzt eine Aggregat-Ansicht zur Verfügung, um Ihnen die Verwaltung Ihrer Daten zu erleichtern und das Schreiben zusätzlicher Abfragen zu ersparen.
  • Der Workflow zum Generieren einer DDL-Datenquelle basierend auf einer echten Datenquelle wird jetzt vollständig unterstützt. Auf dem neuen Tab DDL mappings in den Datenkonfigurationseigenschaften können Sie vorgeben, welche reale Datenquelle welcher DDL-Datenquelle zugeordnet ist.
  • Das neue Datenbank-Diff-Fenster ist über das Kontextmenü zugänglich. Es bietet eine bessere Benutzerführung und zeigt im rechten Fensterbereich genau an, welches Ergebnis Sie bei einer Synchronisierung erhalten.
  • Wir haben drei Introspektionsstufen mit unterschiedlichem Zeitbedarf für Oracle-Datenbanken eingeführt. Über das Kontextmenü können Sie die Introspektionsstufe nach Bedarf ändern.

Kubernetes

  • Die Formatierung in Helm-Vorlagen wurde erheblich verbessert.
  • Die Bearbeitung von Code mit inkludierten Go-Vorlagen ist jetzt viel einfacher, da wir Hervorhebungen für die folgenden Blockelemente in Helm-Vorlagen hinzugefügt haben: if, else, range, with und define.
  • IntelliJ IDEA unterstützt jetzt in ConfigMap-Ressourcen die automatische Codeinjektion in verschiedenen Sprachen für Schlüssel mit Erweiterungen wie .yaml, .json, .properties usw.
  • Eine neue Schaltfläche im Toolfenster Services ermöglicht das erneute Ausführen Ihres letzten Helm-Befehls.

Docker

  • Unter Preferences/Settings | Build, Execution, Deployment können Sie die Optionsschaltfläche Minikube auswählen, um aus Minikube eine Verbindung zu einem Docker-Daemon herzustellen.
  • Jede verfügbare Registry wird im Toolfenster Services in einem separaten Knoten angezeigt. Außerdem werden jetzt GitLab (registry.gitlab.com) und JetBrains Space (<benutzername>.registry.jetbrains.space) unterstützt. Weitere Einzelheiten zu den Änderungen in den Docker-Registries finden Sie in diesem Blogeintrag.
  • Sie können jetzt Docker-Verbindungen schneller herstellen, indem Sie einfach auf den entsprechenden Knoten doppelklicken oder das neue Tastenkürzel ⌘+Enter (macOS) bzw. Strg+Enter (Windows und Linux) verwenden. Auch Aktion Start container ist über dieses Tastenkürzel zugänglich.
  • Wenn Sie auf die Knoten Networks, Volumes, Containers oder Images rechtsklicken und die neue Aktion Clean up auswählen, löscht die IDE nicht verwendete Objekte.
  • Dank der neu hinzugefügten Unterstützung für Compose V2 können Sie Docker-Compose-Befehle als docker compose statt docker-compose (mit Bindestrich) ausführen.
  • Im neuen Tab Layers des Toolfensters Services können Sie alle auf ein Image angewendeten Befehle nachvollziehen.
  • Im Toolfenster Services können Sie nach einem Rechtsklick auf einen Container die Option Image | Save as a new Image auswählen, um einen lokal gespeicherten, vorkonfigurierten Container zu pushen, um ihn später remote verwenden zu können.
  • Podman wird jetzt als alternative Verwaltungsmethode für Pods, Container und Images unterstützt. Bevor Sie Podman in der IDE verwenden, müssen Sie eine Verbindung konfigurieren.

QA-Tools

  • Ein riesiges Update unterstützt die UI-Testautomatisierung mit Selenium. Der visuelle Editor hilft Ihnen jetzt bei der Wartung vorhandener Seitenobjekt-Klassen.
  • Mehrstufige Testläufe werden jetzt unterstützt. Sie können jetzt mehrere untergeordnete Testläufe für bestimmte Funktionsdomänen oder Testtypen erstellen. Jeder übergeordnete Testlauf aggregiert die Ergebnisse der untergeordneten Testläufe und stellt Gesamtstatistiken für alle untergeordneten Testläufe bereit.
  • Das Plugin Test Management unterstützt jetzt formatierte Beschreibungen. Die Testfallbeschreibung bzw. die Schritte wurden schon immer in Markdown geschrieben, aber jetzt kann die Formatierung direkt im TMS-Vorschaufenster dargestellt werden.
  • Das neueste Plugin des Test Automation Kit hat neben einigen kleineren Fehlerkorrekturen eine hilfreiche Zusatzfunktion für die Generierung von Mehrfachdaten erhalten. Jetzt können Sie Präfixe, Suffixe und Trennzeichen mit einer mehrzeiligen Definition ändern.

Qualitätsverbesserungen

  • Fehlerkorrektur im Toolfenster Hierarchy: Die Verwendungen von Schnittstellenmethoden, die mindestens eine Implementierung haben, werden jetzt korrekt angezeigt. [IDEA-275145]
  • Unter Linux wurden die Ursachen für mehrere IDE-Abstürze behoben. [IDEA-248140]
  • Eine Korrektur behebt die wiederkehrende Indizierung bei jedem Start, nachdem die IDE durch Herunterfahren des Betriebssystems geschlossen wurde. [IDEA-275337]
  • Fehlerkorrektur in der Maven-Wrapper-Funktion: Die IDE lädt jetzt automatisch Maven Wrapper herunter (falls Sie ihn noch nicht heruntergeladen haben) und verwendet ihn für die Ausführung von Maven-Zielen. Außerdem bleibt die IDE weiterhin bedienbar, wenn nach dem Öffnen eines Projekts Maven Wrapper heruntergeladen wird, und der Download-Fortschritt wird angezeigt. [IDEA-258757], [IDEA-276012], [IDEA-246835]
  • Die Font-Zoom-Funktion kann jetzt auf alle geöffneten Dateien statt nur auf die aktuelle Datei angewendet werden. Aktivieren Sie dazu die Optionsschaltfläche All editors im Abschnitt Mouse control unter Preferences/Settings | Editor | General. [IDEA-158642]
  • Fehlerkorrektur: Das automatische Speichern funktioniert auch bei geöffneten Popups wie erwartet. [IDEA-128672]
  • Eine Korrektur behebt einen WSL-2-Fehler, der auftrat, wenn versucht wurde, alle Maven-Projekte neu zu laden oder ein Maven-Ziel auszuführen. [IDEA-266222]
  • Eine Korrektur behebt den Fehler, der das Generieren einer entpackten WAR-Datei bei aktivierten Aktionen Delegate IDE build/run für Gradle verhinderte. [IDEA-176700]
  • Das Verhalten der Stop-Taste wurde korrigiert. Beim Anhalten der WildFly-Run-Konfiguration wird die Nachfrage Terminate Batch Job nicht mehr angezeigt. [IDEA-273497]
  • Fehlerkorrektur: Einfrieren der Bedienoberfläche beim Durchsuchen des Dateiauswahldialogs auf macOS. [IDEA-274712]
  • Der Fehler, der dazu führte, dass die IDE Maven-Multimodul-Abhängigkeiten in WSL 2 nicht erkannte, wurde behoben. [IDEA-265900]
  • Ein Problem mit geänderten .vmoptions-Dateien wurde behoben, sodass sie jetzt auch während eines Versionsupgrades von IntelliJ IDEA ordnungsgemäß aktualisiert werden. [IDEA-240526]
  • Die Listenbearbeitung in Markdown kann jetzt deaktiviert werden. Deaktivieren Sie dazu unter Preferences/Settings | Languages & Frameworks | Markdown das Kontrollkästchen Automatic assistance in the editor. [IDEA-273049]
  • Fehlerkorrektur: Auf dem Begrüßungsbildschirm liegt der Eingabefokus jetzt auf der Projektliste. [IDEA-217756]
  • Der Fokus wird nicht mehr zum File-Menü verlagert, wenn beim Debugging F10 gedrückt wird. [IDEA-138429]
  • Fehlerkorrektur im Maven-Ressourcen-Compiler: Beim Buildvorgang eines Projekts in WSL 2 wird nicht mehr der Fehler Failed to copy zurückgegeben. [IDEA-266670]
  • Fehlerkorrektur: Inkorrektes Schließen von Tabs bei mehreren geöffneten Tabs. [IDEA-274154]
  • Fehlerkorrektur für das Feld File mask im Dialog Find in File: Die Liste wird jetzt korrekt angezeigt. [IDEA-236785]
  • Fehlerkorrektur: Beim Doppelklicken auf die Titelleiste eines Fensters unter macOS verhält sich die IDE jetzt korrekt. [IDEA-274588]
  • Fehlerkorrektur in der Rechtschreibprüfung: Wörter mit Apostrophen werden jetzt erkannt. [IDEA-246846], [IDEA-266236]
  • Fehlerkorrektur im Diff-Tab: Beim Dateivergleich wird jetzt der richtige Dateiname angezeigt. [IDEA-269958]
  • Fehlerkorrektur: Im ablenkungsfreien Modus blieb die Navigationsleiste nicht deaktiviert. [IDEA-278664]
  • Fehlerkorrektur: Externe Tools können jetzt zur Quick List hinzugefügt werden. [IDEA-257383]
  • Fehlerkorrektur: Das Annotation-Panel erscheint jetzt in demselben Design wie die restliche IDE. [IDEA-233913]
  • Fehlerkorrektur für die YAML-Codeformatierung. [IDEA-199963]
  • Fehlerkorrektur: VM-Optionen bleiben jetzt nach dem Konfigurieren aktiv. [IDEA-278976]
  • Fehlerkorrektur: Beim Starten der IDE über die JetBrains Toolbox-App wurden für ProxyCommands falsche Umgebungsvariablen verwendet. [IDEA-222673]
  • Fehlerkorrektur: Die neue Maven-Run-Konfiguration ist jetzt mit früheren Versionen der IDE kompatibel. [IDEA-279198]
  • Debugging-Möglichkeit für verschiedene Gradle-Skripte hinzugefügt. [IDEA-267460], [IDEA-206650], [IDEA-194493]

Sonstiges

  • Android Studio Arctic Fox 2020.3.1 wird jetzt unterstützt.
  • IntelliJ IDEA unterstützt jetzt Groovy 4 einschließlich umfassender Codeanalyse-Funktionen, nützlicher Inspektionen und Intention-Aktionen. Neue Sprachmerkmale wie Switch-Ausdrücke und Sealed-Typen werden ebenfalls unterstützt.

Dies waren die wichtigsten Neuerungen in IntelliJ IDEA 2021.3. Detaillierte Informationen zu einzelnen Updates, Fehlerkorrekturen und Verbesserungen finden Sie in den Versionshinweisen.

Vielen Dank, dass Sie im Rahmen des Early-Access-Programms Feedback zu den Funktionen gegeben und uns bei der Verbesserung unseres Produkts geholfen haben. Wir hoffen, dass Ihnen die zahlreichen neuen Funktionen in v2021.3 gefallen werden. Bitte hinterlassen Sie uns einen Kommentar unter diesem Blogbeitrag, um uns Ihre Gedanken zu den Updates mitzuteilen. Sollten Sie Fehler entdecken, melden Sie diese bitte in unserem Issue-Tracker.

Viel Freude beim Entwickeln!

IntelliJ IDEA News Releases

IntelliJ IDEA 2021.3

Представляем IntelliJ IDEA 2021.3 — последнее большое обновление в 2021 году! Новую версию можно скачать с сайта JetBrains или через Toolbox App. Кроме того, можно обновиться из самой IDE или с помощью snap-пакета, если вы являетесь пользователем Ubuntu.

Вас ждет много новых функции и улучшений, чтобы работать с IntelliJ IDEA стало еще удобнее. В том, что касается качества, мы уделили особое внимание вашим комментариям в баг-трекере. Если у вас возникнут любые проблемы с этой версией, пожалуйста, сообщайте нам об этом.

Как всегда, подробную информацию обо всех новых возможностях вы найдете на странице «Что нового». В этом посте, мы хотим кратко рассказать вам о главных функциях и улучшениях, вошедших в IntelliJ IDEA 2021.3.

Главное

  • В этом релизе мы представляем возможности удаленной разработки (бета). Теперь вы можете подключаться к удаленному компьютеру, на котором запущен бэкенд IDE, и работать над размещенным там проектом, как если бы он находился на локальной машине. Чтобы воспользоваться этой функцией можно с начального экрана IntelliJ IDEA или скачав JetBrains Gateway через Toolbox App.
  • Добавлен новый, более быстрый способ диагностики и устранения проблем в работе IDE: действие Repair IDE… в меню File.
  • Действие Smart Step Into теперь работает с кодом Kotlin. Оно позволяет выполнить отладку выражения с цепочкой вызовов методов и лямбд, подсвечивая те методы и лямбды, в которые можно зайти.
  • Отладчик умеет находить inline-функции Kotlin и показывать их вызовы на панели трассировки стека.
  • Новая инспекция Constant conditions позволяет IntelliJ IDEA сообщать о нетривиальных условиях и значениях, которые должны всегда являться истинными, ложными или нулевыми. Она работает так же, как аналогичная инспекция для Java.

Редактор

  • Размер шрифта можно изменить во всех вкладках одновременно с помощью сочетания ⌘+колесико мыши в macOS и Ctrl+колесико мыши в Windows и Linux.
  • В новой версии удобно вставлять таблицы в файлы Markdown.
  • Предварительный просмотр теперь доступен для большинства intention-действий и быстрых исправлений в Kotlin. Если предпросмотр не поддерживается, отображается HTML-описание.
  • Работать со вкладками редактора стало проще. Чтобы получить доступ ко всем действиям на вкладках, просто нажмите на три точки в правом верхнем углу панели вкладок.

Взаимодействие с IDE

  • При нажатии клавиши F3 в macOS или F11 в Windows и Linux отмеченные файлы, папки и классы отобразятся в новом окне Bookmarks. Подробнее можно узнать из этой статьи.
  • Мы добавили возможность разделять окно Run, используя вкладки. Благодаря этому можно одновременно запускать несколько конфигураций и видеть все результаты.
  • При поиске действий через Search Everywhere в IntelliJ IDEA используется машинное обучение для сортировки результатов.
  • Переработанный узел Empty Project в окне мастера создания проекта позволяет создать простой проект для работы с отдельными файлами разных типов и добавить в него классы Java и Kotlin.
  • Новый узел Multi-Module Project позволяет с нуля создать проект со сложной структурой.
  • Новая версия IntelliJ IDEA по умолчанию использует методы более высокого уровня в качестве объекта поиска, когда вы ищете использования реализации методов с помощью сочетаний клавиш ⌥ F7 в macOS или Alt+F7 в Windows и Linux.
  • В диалоге Show Usages теперь доступен предпросмотр исходного кода для найденных использований, а также можно изменить область поиска и посмотреть тип искомого элемента кода и количество найденных использований.

Режим специальных возможностей

  • Когда активен инструмент чтения с экрана, IDE больше не показывает всплывающее окно со списком окон инструментов и всплывающее окно быстрого просмотра документации, которые появлялись по наведению мыши.
  • Кроме того, мы устранили проблему с вызовом диалога Go to Declaration.
  • Поддержка режима специальных возможностей на macOS также была улучшена. Мы устранили ряд проблем с фокусом VoiceOver и дали инструментам чтения с экрана возможность находить пункты списка в мастере New Project при создании проекта.
  • Мы убрали некоторые подсказки со звуком, чтобы снизить количество отвлекающих факторов.

Java

  • В IntelliJ IDEA добавлена новая инспекция Non-safe string passed to a safe method. Она помогает предотвратить передачу небезопасных данных безопасным методам в проектах, использующих аннотации org.checkerframework.checker.tainting.qual. В числе проблем, которые находит эта инспекция, вставки SQL-кода и слабые места XSS.
  • Мы добавили две инспекции, которые помогут упростить код. Первая предлагает заменить collect(toList()) на .toList(). Ее можно использовать с Java 16 и более поздними версиями. Вторая предлагает заменить collection.addAll(List.of(“x”)) на collection.add(x), а map.putAll(Map.of(“a”, “b”)) — на map.put(“a”, “b”).
  • При вводе локальной переменной в Java больше не открывается всплывающее окно с настройками, закрывающее код, над которым вы работаете. Теперь открыть настройки можно с помощью значка шестеренки рядом с переменной или сочетанием клавиш⌥+⇧ +O в macOS или Alt+Shift+O в Windows.
  • При вызове рефакторинга Introduce parameter IDE спрашивает, где именно нужно заменить найденные вхождения. Когда вы выберете нужное, появится значок шестеренки. Нажав на него, можно будет настроить и другие параметры рефакторинга.
  • В диалоге Run/Debug Configurations можно задать classpath для отдельных конфигураций, выбрав Modify options | Modify classpath.

Kotlin

  • Новый рефакторинг позволяет извлекать константы в Kotlin.
  • Инспекцию Possibly blocking call in non-blocking context теперь можно настроить, она охватывает больше случаев и предлагает быстрое исправление.
  • Новые подсказки в редакторе с помощью математических знаков объясняют, что значат слова и символы в диапазонах.
  • В интерфейсе мастера создания проектов теперь есть подсказки для всех полей. Кроме того, мы удалили некоторые редко используемые шаблоны и добавили новый для создания приложений Compose Web, а также упростили настройку проекта.

JavaScript

  • Обновить npm-пакеты до новой версии можно прямо из редактора.
  • Улучшена работа автодополнения HTML-кода. Теперь при вводе имени тега или аббревиатуры и при вызове автодополнения IntelliJ IDEA сразу же показывает подходящие варианты.

Scala

  • Большое внимание при подготовке этого релиза мы уделили поддержке Scala 3. Мы добавили подсветку, навигацию и автодополнение для маркеров end, ключевых слов given, usingи export, для мягких ключевых слов и «тихого» синтаксиса. Кроме того, инструмент чтения TASTy теперь может обрабатывать package objects, а также вариантность и связи в более высоких типах.
  • Перекрестно скомпилированные проекты Scala 3/Scala 2 можно открывать как проекты Scala 2.
  • Теперь плагин Scala поддерживает анализ потоков данных, что упрощает поиск ошибок в коде.
  • Для параметров компилятора Scala теперь работает автодополнение, и по каждому из них доступен быстрый просмотр документации.
  • Для диапазонов в Scala можно использовать встроенные подсказки.

SSH

  • Для конфигурации SSH можно указать прокси-сервер HTTP или SOCKS (Preferences/Settings | Tools | SSH Configurations).

Профилировщик

  • В версию IntelliJ IDEA Ultimate для Windows встроена поддержка Async Profiler 2.0.
  • Можно сравнить снэпшоты, чтобы проверить, дали ли изменения в программе ожидаемый эффект или привели к ухудшению.

Инструменты сборки

  • Конфигурации Maven были существенно переработаны. Все основные параметры теперь собраны в одном окне, а к дополнительным настройкам можно перейти по ссылке Modify options.
  • Можно сохранить настройки Maven для каждого проекта в файле .mvn/maven.config. Для этого перейдите в Preferences/ Settings | Build, Execution, Deployment | Maven и выберите Use settings from .mvn/maven.config.

Управление версиями

  • Функцию Checkout and Rebase onto Current можно использовать для удаленных веток.
  • Мы улучшили структуру настроек в меню Preferences/Settings | Version Control и упростили доступ к некоторым важным конфигурациям.
  • Разницу между коммитами теперь можно посмотреть в отдельном окне Changes слева от редактора.
  • Новое действие Push all up to here позволяет делать push коммитов, в которых вы уверены (остальные продолжат храниться локально).
  • Новая настройка Align Changes Highlighting упрощает восприятие информации на экране Diff: строки без изменений отображаются друг напротив друга. В результате вы четко видите, какой код был добавлен или удален.

Терминал

  • Новая функция поддержки API ConPTY для Windows решает ряд проблем, связанных со старой реализацией, и обеспечивает поддержку 24-разрядных цветов в терминале.
  • В терминале появилась поддержка опережающего ввода: IDE предсказывает, какие символы вы собираетесь вводить, и показывает их в светло-сером цвете.

Отладчик

  • Теперь поле Evaluate доступно прямо в окне Debug, и это самый удобный способ вычисления выражений.

Фреймворки и технологии

  • HTTP-клиент IntelliJ IDEA обеспечивает базовую поддержку gRPC-запросов, включая автодополнение кода и возможность создания gRPC-запросов прямо в HTTP-клиенте.
  • При тестировании приложений, выполняющих потоковую передачу данных в IntelliJ IDEA, больше не нужно ждать окончания потока: HTTP-клиент отображает результаты в реальном времени.
  • HTTP-клиент находит изображения в ответах и показывает их превью в консоли ответа.
  • В HTTP-клиенте можно настроить перенаправление вывода в заданный файл или директорию с помощью операторов >> и >>!.
  • Идентификаторы запросов можно добавлять либо в виде комментариев с использованием @name, либо в виде текста в первом разделителе (###).
  • Поддержан новый язык шаблонов Qute для проектов на базе Quarkus.
  • IntelliJ IDEA может находить спецификации OpenAPI, сохраненные в нескольких файлах и связанные с помощью $ref, и обеспечивает автодополнение.
  • Если добавить в зависимости проекта org.jetbrains:annotations:23.0.0, можно добавлять к классам и методам аннотации @Blocking и @NonBlocking. В результате IDE сможет находить блокирующие вызовы в неблокирующих контекстах, например, в корутинах Kotlin или в реактивном коде Project Reactor, RxJava и SmallRye Mutiny.
  • Улучшено обнаружение блокирующего кода в Spring и Java EE.
  • Диалог Run/Debug Configurations для проектов Spring Bootбыл переработан, и теперь все основные настройки находятся в одном окне, а к дополнительным параметрам можно перейти по ссылке Modify Options.
  • IntelliJ IDEA предлагает автодополнение кода в дополнительных файлах конфигурации (файлы properties или .yaml), если для ссылки на другой файл используется ключ spring.config.import.
  • В проектах Spring Boot поддерживается автодополнение кода и поиск использований ссылок на application.yaml в @Value, @Scheduled и Environment.getProperty().
  • Автодополнение методов запросов теперь работает и для запросов, объявленных как @NamedQuery в проектах Spring Data JPA. К определению @NamedQuery можно перейти щелкнув по иконке на полях редактора.
  • Теперь все инспекции CDI можно использовать в файлах Kotlin. Также доступны иконки CDI на полях редактора. С их помощью можно быстро перейти к точкам внедрения зависимости и кандидатам, фабрикам bean-компонентов и событиям.
  • Мы ускорили все процессы для диаграмм классов UML как в Java, так и в Kotlin. Среди других важных изменений — новая сетка, подсветка членов класса и всплывающее окно быстрого просмотра документации.

Интеграция со Space

  • Теперь вы можете создавать merge-реквесты и код-ревью для проектов в Space.
  • IntelliJ IDEA отмечает все непроверенные файлы синими точками, чтобы вы не пропустили важные изменения во время код-ревью.

Инструменты для работы с базами данных

  • Мы добавили возможность выбрать режим Aggregate для просмотра диапазона ячеек. Благодаря этому управлять данными стало удобнее и можно не отправлять лишние запросы.
  • В новой версии полностью поддерживается рабочий процесс создания источника данных DDL на основе реального. В настройках конфигурации данных появилась новая вкладка DDL mappings, на ней можно соотнести виртуальные источники данных с реальными.
  • Новое окно сравнения Database diff можно открыть из контекстного меню. Его интерфейс был улучшен, и оно четко отображает результат синхронизации в правой панели.
  • Мы ввели три уровня интроспекции баз данных Oracle, с разной скоростью выполнения. Чтобы изменить уровень интроспекции, воспользуйтесь контекстным меню.

Kubernetes

  • Значительно улучшено форматирование шаблонов Helm.
  • Стало гораздо проще работать с кодом, содержащим вставки шаблонов Go: мы добавили подсветку для блочных элементов Helm if, else, range, with и define.
  • Новая версия IntelliJ IDEA поддерживает подсветку вложенного кода на разных языках в ресурсах ConfigMap для ключей с расширениями .yaml, .json, .properties и т. п.
  • В окне Services появилась кнопка для повторения последней команды Helm.

Docker

  • В меню Preferences/Settings | Build, Execution, Deployment с помощью переключателя Minikube можно подключиться к Docker из Minikube.
  • Все доступные репозитории образов отображаются в окне Services в отдельных узлах. Кроме того, добавлена поддержка GitLab (registry.gitlab.com) и JetBrains Space (<username>.registry.jetbrains.space). Подробнее об изменениях в реестрах Docker читайте в этой статье.
  • Теперь подключиться к Docker можно быстрее: достаточно дважды щелкнуть по нужному узлу или нажать ⌘+Enter в macOS или Ctrl+Enter в Windows и Linux. Действие Start container вызывается этим же сочетанием клавиш.
  • При щелчке правой кнопкой на узлах Networks, Volumes, Containers или Images можно выбрать новое действие Clean up, и IDE удалит неиспользуемые объекты.
  • Мы добавили поддержку Compose V2. Благодаря этому команды Docker Compose можно вводить в форме docker compose, а не docker-compose (с дефисом).
  • Новая вкладка Layers в окне Services позволяет отслеживать содержимое слоев, размер файлов и команды, которые были использованы при создании образа.
  • В окне Services можно щелкнуть правой кнопкой на контейнере и выбрать Image | Save as a new Image, чтобы сохранить на сервере предварительно настроенный локальный контейнер и использовать его позднее.
  • В новой версии появилась поддержка Podman — еще одного способа управления подами, контейнерами и образами. Прежде чем использовать Podman в IDE, нужно настроить подключение.

Тестирование

  • Одно из важнейших обновлений в Selenium UI Testing плагине – это возможность не только создавать новые Page Object классы, но и редактировать существующие с помощью продвинутого визуального редактора со встроенным браузером.
  • Для тех кто предпочитает управлять тестами, чеклистами и даже тест ранами прямо в проекте при помощи специальных Markdown файлов (Local TMS), теперь появилась возможность составлять иерархию тест-ранов. При этом каждый тест-ран будет агрегировать в себе информацию со всех дочерних тест-ранов.
  • Также мы добавили поддержку форматирование в окне предпросмотра. Описания тест-кейсов и шагов всегда писались на Markdown, но теперь форматирование можно просматривать и менять прямо в окне предпросмотра TMS.

Другие возможности

  • Добавлена поддержка Android Studio Arctic Fox 2020.3.1.
  • Появилась поддержка Groovy 4, включая полнофункциональный анализ кода, инспекции и intention-действия. Поддерживаются также дополнительные возможности, например switch-выражения и sealed-типы.

Спасибо, что помогаете нам улучшать IntelliJ IDEA своим участием в программе раннего доступа и отзывами о новой функциональности. Делитесь впечатлениями о версии 2021.3 в комментариях к посту и сообщайте о любых ошибках в баг-трекере.

Программируйте с удовольствием!

Ваша команда IntelliJ IDEA
The Drive to Develop

Оригинал статьи опубликован на Habr.com.