Java

Java 12

IntelliJ IDEA 2018.3 bietet Erstunterstützung für Java 12! Sehen Sie sich jetzt eine Vorschau der Raw String Literals (JEP 326) in der IDE an und profitieren Sie von zahlreichen nützlichen Inspektionen und Quick-Fixes. Konvertieren Sie beispielsweise mehrzeilige String-Literale in unformatierte String-Literale und umgekehrt, erkennen Sie redundante führende oder nachfolgende Backticks (`) und mehr. Mehr erfahren

Lesen Sie hier den rechtlichen Hinweis

Bitte beachten Sie, dass Java 12 noch nicht freigegeben ist. Sie müssen die Bestimmungen des rechtlichen Hinweises der Beta-Java-Spezifikation akzeptieren, um die Unterstützung für Java 12 zu aktivieren. Die Implementierung eines frühen Spezifikationsentwurfs, der im Rahmen des Java Community Process (JCP) entwickelt wurde, wird nur zu Test- und Evaluierungszwecken zur Verfügung gestellt und ist mit keiner Spezifikation des JCP kompatibel.

Aufspüren weiterer Duplikate

IntelliJ IDEA kann jetzt auch in komplizierteren Fällen Duplikate schnell erkennen, z. B. wenn die Variablennamen unterschiedlich sind. Die IDE zeigt Duplikate im Diff Viewer an, sodass Sie diese Seite an Seite vergleichen können.

Java Stream API-Verbesserungen

Die IDE erkennt Situationen, in denen unnötige sortierte Aufrufe vor dem nächsten Min-Aufruf getätigt werden. Ein Quick-Fix zum Entfernen des redundanten sortierten Aufrufs ist ebenfalls verfügbar.

Verbesserungen des Datenflusses

Wir haben eine neue datenflussbasierte Inspektion mit dem Namen Condition is covered by further condition erstellt. Diese erkennt Situationen, in denen die erste Bedingung nicht erforderlich ist, da sie von der zweiten abgedeckt wird. Die IDE bietet ein Quick-Fix, um solche redundanten Bedingungen zu beseitigen.

Redundante Verwendungen einer unterdrückten Inspektion

IntelliJ IDEA erkennt jetzt redundante Verwendungen der Annotation @SuppressWarning, des Zeilenkommentars // noinspection und des JavaDoc-Kommentars /** noinspection */. Wenn eine unterdrückte Inspektion keine Warnungen im zugehörigen Methodenhauptteil, in der zugehörigen Klasse oder Anweisung mehr behandelt, gibt die IDE nicht nur eine Warnung aus, sondern bietet auch ein Quick-Fix zum Entfernen dieser unnötigen Anmerkungen und Kommentare an.

Editor

Mehrzeilige TODO-Kommentare

IntelliJ IDEA 2018.3 unterstützt jetzt mehrzeilige TODO-Kommentare. Nun werden alle Zeilen des TODO-Kommentars im Editor hervorgehoben und im TODO-Toolfenster aufgelistet. Fügen Sie einfach einen Einzug ab der zweiten Zeile Ihres mehrzeiligen TODO-Kommentars hinzu, und die IDE unterscheidet ihn von einem normalen Kommentar.

Deaktivieren der Codeformatierung für bestimmte Dateien und Ordner

Wir haben es möglich gemacht, bestimmte Dateien von der Formatierung, der Importoptimierung und der Code-Neuanordnung auszunehmen – eigentlich von allen Vorgängen, bei denen explizit oder implizit eine Formatierung erfolgt. Erstellen Sie einfach einen Bereich und fügen Sie ihm alle Dateien hinzu, die nicht formatiert werden dürfen!

Neue Einzugstatusleiste

IntelliJ IDEA zeigt die Größe des Einzugs in der aktuellen Datei in einer neuen Einzugstatusleiste an. Wenn der Einzug der Datei nicht mit den aktuellen Einstellungen Ihres Projekts übereinstimmt, wird der Einzugsansicht ein Sternchen hinzugefügt. Sie haben jetzt eine Auswahl von Aktionen, die den aktuellen Einzug im Popup der Statusleiste steuern.

Verbesserungen in der EditorConfig-Unterstützung

Die IDE bietet jetzt Syntaxhervorhebung und Codevervollständigung für EditorConfig-Dateien. Sie können auch das neue Popup der Einzugstatusleiste verwenden, um einfach zur verwendeten EditorConfig-Datei zu navigieren.

Versionsverwaltung

GitHub-Pull-Requests

IntelliJ IDEA bietet Erstunterstützung für GitHub-Pull-Requests. Zeigen Sie im brandneuen Toolfenster GitHub Pull Requests eine Vorschau aller Pull-Requests in Ihrem GitHub-Repository an. Verwenden Sie Diff, um eine Vorschau der Änderungen anzuzeigen, oder erstellen Sie über das Kontextmenü einen lokalen Branch aus einem Pull-Request und führen Sie ihn dann als regulären Branch zusammen.

"History up to Here" kann den vollständigen Verlauf anzeigen

Früher wurde mit der Aktion History up to Here nur die Versionsgeschichte der Datei bis zum ausgewählten Commit angezeigt, jetzt kann jedoch in der Symbolleiste durch Umschalten auf Show All Branches angezeigt werden, was danach mit der Datei geschehen ist. Dies kann besonders nützlich sein, wenn die Datei später gelöscht wurde, da es keine leichte Aufgabe ist, solche Vorkommnisse zu ermitteln.

Erweiterte Navigation im VCS Log

Sie können jetzt die Navigationsaktionen "Forward" und "Back" verwenden, während Sie sich im VCS Log befinden, nachdem Sie von den Commit-Hashes zum Commit auf der Registerkarte VCS Log gewechselt haben, oder nachdem Sie die Aktion Go to hash/branch/tag verwendet haben. Verwenden Sie die linke und rechte Pfeiltaste, um zum untergeordneten oder übergeordneten Commit zu navigieren.

Leerzeichen ignorieren

Jetzt kann die IDE Leerzeichen-Änderungen beim Zusammenführen ignorieren. Im Dialogfeld Merge Revisions for gibt es ein neues Dropdown-Menü Ignore mit Optionen zum Ausblenden oder Kürzen geänderter Leerzeichen beim Zusammenführen.

Eine Datei von einem Git-Branch in einen anderen kopieren

Mit IntelliJ IDEA 2018.3 können Sie auf einfache Weise eine Datei von einem Git-Branch in einen anderen kopieren. Verwenden Sie dazu die praktische neue Aktion Get from Branch, die auf der Registerkarte Dateien im Dialogfeld Compare branches verfügbar ist.

Branchname im Commit-Dialogfeld

Die IDE zeigt den Namen des Branches, an den Sie die Dateien committen, direkt im Dialogfeld Commit an. Wir haben dies für Git, Mercurial und SVN implementiert.

Vorschau der Differenzen auf der Registerkarte "File History"

Diff Preview ist jetzt auf der Registerkarte File History im Toolfenster Version Control verfügbar.

Unterstützung für Git-Submodules

IntelliJ IDEA 2018.3 unterstützt jetzt Git-Submodule! Klonen oder aktualisieren Sie Ihr Projekt, committen Sie Änderungen, zeigen Sie Unterschiede an und lösen Sie Konflikte auf.

Suchen und Ersetzen

Neues "Search Everywhere"

IntelliJ IDEA 2018.3 bietet eine neue, bessere Möglichkeit im Projekt und in der IDE zu navigieren. Freuen Sie sich auf die überarbeitete Search Everywhere! Search Everywhere ist jetzt in Wirklichkeit viel mehr als nur „Überall suchen“, denn es enthält auch alle anderen Navigationsdialoge: Find Action, Go to class, Go to file und Go to symbol. Beachten Sie, dass alle diese Navigationsdialogfelder weiterhin über ihre eigenen Tastaturkürzel zugänglich sind.

Suche nach mehrzeiligen Fragmenten mit "Find in Path"

Jetzt ist das Suchen/Ersetzen nach einem mehrzeiligen Fragment in den Dialogfeldern Find in Path / Replace in Path möglich. Sie brauchen keine regulären Ausdrücke mehr, um eine mehrzeilige Suche durchzuführen.

Neue Dialogfelder für Structural Search & Replace

IntelliJ IDEA 2018.3 bietet ein aktualisiertes und optimiertes Dialogfeld Structural Search & Replace. Jetzt funktioniert die automatische Vervollständigung in den vordefinierten Vorlagen im Suchfeld. Sie können den Suchverlauf im Dropdown-Menü unter dem Suchsymbol anzeigen. Die Scope-Konfiguration ist jetzt auch einfacher und flexibler. Das komplizierte Formular Edit Variables wurde durch ein Filterfeld ersetzt, das Sie im aktualisierten Dialogfenster finden.

Plugins-Einstellungsseite

Wir haben die Seite Plugins in Preferences (Settings) aktualisiert, um das Verwalten, Installieren, Deinstallieren und Aktualisieren von Plugins zu vereinfachen. Jetzt können Sie Plugins nicht nur nach Namen, sondern auch nach Tags suchen. Es wird noch besser, da Sie die Ergebnisse jetzt auch nach Downloads, Namen, Bewertungen, Empfehlungen oder Updates sortieren können.

Run Anything

Run Anything

IntelliJ IDEA 2018.3 bietet eine neue, zentrale Methode zum Ausführen eines Befehls in der IDE über die neue Aktion Run Anything (Doppel-Strg). Verwenden Sie die neue Aktion, um eine Run-Konfiguration zu starten (einschließlich Maven und Gradle) oder einen Gradle-Task oder Terminalbefehl auszuführen.

Debug Anything

Drücken Sie einfach die Umschalttaste, um das Dialogfeld Run Anything in den Modus Debug Anything umzuschalten.

Kotlin

Das mit der IDE mitgelieferte Kotlin-Plugin wurde auf Version 1.3 aktualisiert

Unterstützung für Kotlin 1.3

Vor Kurzem wurde eine neue Hauptversion von Kotlin für die Sprache, Tools und Bibliotheken freigegeben. Mit IntelliJ IDEA können Sie Ihr Kotlin-Projekt auf Kotlin 1.3 migrieren und alle erforderlichen Änderungen an veraltetem Code vornehmen, damit er dem neuesten Stand der Bibliotheken entspricht.

Verbesserungen bei der Unterstützung von Multiplattform-Projekten

In Kotlin 1.3 wurde das Modell von Multiplattform-Projekten komplett überarbeitet, um die Ausdruckskraft und Flexibilität zu verbessern und die gemeinsame Nutzung von Code zu vereinfachen. IntelliJ IDEA bietet eine Reihe von Projektbeispielen, mit denen die häufigsten Anwendungsfälle abgedeckt sind.

New Inspektionen und Quick-Fixes in Kotlin

Seit der Veröffentlichung von IntelliJ IDEA 2018.2 wurde das Kotlin-Plugin um mehr als 30 neue Inspektionen, Quick-Fixes und Intentionen erweitert, mit denen Sie Programme viel effektiver schreiben können.

Spring und Spring Boot

Unterstützung für Spring Boot 2.1

IntelliJ IDEA 2018.3 fully supports the recently released Spring Boot 2.1. Configuration values annotated with @DataSize are validated using the default @DataSizeUnit, if specified.

Spring Initializr-Verbesserungen

Wenn Sie jetzt ein Projekt mit Spring Initializr erstellen, schlägt die IDE vor, entsprechende Plugins zu installieren oder zu aktivieren, um sicherzustellen, dass die Unterstützung aller ausgewählten Technologien gewährleistet ist.

Bessere JPA- und Spring Data-Unterstützung für Kotlin

Jetzt kann die IDE automatisch JPQL in Abfrage-Strings injizieren und so Entitätsnamen und Parameter vervollständigen. Sie können Spring-Data-Schnittstellen in Kotlin schreiben, und IntelliJ IDEA versteht die von Ihnen verwendeten Entitäten. Die IDE bietet eine intelligente Vervollständigung für Methodennamen und Quick-Fixes für Parameter.

Barrierefreiheit

Kontrastreiches Design

Wir sind bestrebt, all unseren Nutzern die freundlichste Umgebung bereitzustellen. Mit IntelliJ IDEA 2018.3 führen wir einige wichtige Verbesserungen für die Barrierefreiheit ein, z. B. das brandneue kontrastreiche Design.

Bessere Unterstützung für Sprachausgaben

Wir haben die Unterstützung für Screenreader verbessert, sodass sie Zeilennummern, VCS-Anmerkungen, den Debugger und unsere Randleistensymbole lesen können.

JVM-Debugger

Anhängen an Java-Prozesse

Stellen Sie eine Verbindung zu Java-Prozessen her, die ohne einen Debug-Agenten gestartet wurden. Nach dem Anhängen an einen Prozess können Sie den aktuellen Threadstatus und die Variablenwerte anzeigen und die Speicheransicht verwenden.

Wenn Sie den Debugger an Ihren lokalen Prozess anhängen möchten, können Sie die praktische neue Aktion Attach Debugger verwenden, die im Toolfenster Run verfügbar ist.

Automatischer Neustart der Bereitschaft für Remoteverbindungen

Während Sie nun einen Remote-Prozess debuggen, kann die IDE eine Konfiguration automatisch neu starten. Aktivieren Sie einfach die neue Option Auto restart für Remote-Debug-Konfigurationen.

Asynchrone Stapelüberwachung in entfernten JVMs

IntelliJ IDEA 2018.3 now supports async stack traces in remote JVMs. To start using the agent remotely:

  • Kopieren Sie die Datei /lib/rt/debugger-agent.jar auf den Remote-Computer.
  • Fügen Sie -javaagent: debugger-agent.jar zu den Remote-JVM-Optionen hinzu.

Jetzt können Sie im Dialogfeld Async Annotations Configuration Ihre eigenen asynchronen Anmerkungen definieren.

Aktion zum Entfernen aller Haltepunkte

IntelliJ IDEA 2018.3 enthält praktische neue Aktionen, mit denen alle Haltepunkte in einem Projekt entfernt werden können, oder alle Haltepunkte in der Datei. Sie können Ihre eigenen Tastenkürzel dafür in Preferences (Settings) | Keymap | Debugger Actions zuweisen.

Maven

Jetzt ist es möglich, alle Build- und Run-Aktionen an Maven zu delegieren. Gehen Sie zu Preferences (Settings) | Build, Execution, Deployment | Build Tools | Maven | Runner und wählen Sie die neue Option Delegate IDE build / run actions to maven aus.

Terminal

Das eingebettete Terminal wurde verbessert, sodass IntelliJ IDEA 2018.3 jetzt die Namen der Terminal-Registerkarten, das aktuelle Arbeitsverzeichnis und den Shell-Verlauf speichert, wenn Sie das Projekt oder IntelliJ IDEA schließen.

Wir haben auch die Terminal-Registerkarten so überarbeitet, dass sie wie die anderen Toolfenster-Registerkarten aussehen.

Run-Konfiguration

Makros in Java-Laufzeitkonfigurationen

Mit IntelliJ IDEA können Sie jetzt Makros in den Run-Konfigurationen "Application" und "npm" verwenden. Sie können ein vordefiniertes Makro in das Feld Program arguments eingeben.

Möglichkeit, Textdateien als Input zu verwenden

Wenn Sie eine Text- oder Protokolldatei als Input verwenden möchten, wählen Sie einfach die Option Redirect input from im Dialogfeld Run/Debug Configurations aus und geben Sie dann den Pfad zu der Datei an, die Ihre Inputdaten enthält.

Die Run-Konfiguration wird standardmäßig nur als einzelne Instanz ausgeführt

Per Voreinstellung wird eine Run-Konfiguration jetzt nur als einzelne Instanz ausgeführt. Es gibt jedoch die Option Allow running in parallel im Dialogfeld Run/Debug Configuration, die Sie aktivieren können, wenn Sie mehrere Instanzen derselben Run-Konfiguration gleichzeitig ausführen möchten.

JavaScript & TypeScript

Auto-Importe in JavaScript

IntelliJ IDEA kann jetzt automatisch Importe für Symbole aus den Abhängigkeiten des Projekts hinzufügen, in JavaScript-Dateien. Dies funktioniert, solange sich eine TypeScript-Definitionsdatei im Paket befindet oder das Paket Quellen enthält, die als ES-Modul geschrieben wurden.

Optimierte Unterstützung für Angular

Codevervollständigung und Go-To-Definition für Variablen, Pipes, asynchrone Pipes und Vorlagen-Referenzvariablen in Angular-Vorlagen sind jetzt treffsicherer.

Unterstützung von Node.js Worker Threads

Sie können jetzt Node.js-Worker in IntelliJ IDEA debuggen. Vergewissern Sie sich nur, dass Sie Node.js 10.12 oder höher und das Flag --experimental-worker verwenden. Die IDE bietet Codevervollständigung für die API der Worker-Threads.

Mehr Flexibilität mit ESLint und TSLint

Sie können die Schweregrade in der Konfigurationsdatei des Linters überschreiben und alle Probleme vom Linter als Fehler oder Warnungen anzeigen.

Drücken Sie bei TSLint-Fehlern die Alt-Enter-Taste und anschließend die rechte Pfeiltaste. Jetzt haben Sie die Möglichkeit, einen speziellen TSLint-Deaktivierungskommentar für diese Regel hinzuzufügen.

Kubernetes

Unterstützung für Helm-Ressourcendateien

Die IDE löst nun Helm-Ressourcenvorlagendateien korrekt auf und bietet Ihnen unsere bekannten Bearbeitungshilfen: Codevervollständigung, Rename-Refaktorierung und natürlich Inspektionen und Quick-Fixes.

Navigation in Helm-Ressourcendateien

Mit der IDE können Sie von der Verwendung eines Wertes zu seiner Deklaration in der Datei chart’s values.yaml navigieren. Mit den Randleistensymbolen können Sie zwischen einer Label-Definition und ihrem Selektor navigieren. Darüber hinaus gibt es in values.yaml-Dateien neue Randleistensymbole, mit denen Sie zu überschriebenen oder überschreibenden Werten navigieren können.

Ergebnisvorschau für Helm-Vorlagen

Die IDE kann nun eine Vorschau des Ergebnisses der Helm-Vorlage anzeigen, die im Diff rendert. Wählen Sie einfach im Kontextmenü die neue Aktion Kubernetes | Helm Template aus.

Helm Dependency Update

Eine neue Aktion Helm Dependency Update ist verfügbar, um die externen tgz-Abhängigkeiten herunterzuladen (oder die vorhandenen zu aktualisieren) und sie im Projektbaum anzuzeigen.

Datenbank-Tools

Cassandra-Datenbank

In dieser Version wurde die Unterstützung für eine weitere NoSQL-Datenbank hinzugefügt – Cassandra.

Verbesserungen bei der Vervollständigung von SQL-Code

Die Codevervollständigung funktioniert jetzt für nicht aggregierte Felder in GROUP BY, alle Spalten in den Tabellenvariablen SELECT, MERGE und INSERT INTO, benannte Parameter gespeicherter Prozeduren, numerische Felder in SUM() und AVG(), FILTER (WHERE)-Klauseln und Feldtypen in SQLite.

Introduce Table Alias

Mit der Aktion Introduce table alias können Sie jetzt mit dem Cursor über dem Tabellennamen direkt einen Alias erstellen. Dieser Alias ersetzt automatisch Verwendungen des Tabellennamens.

Einzelverbindungsmodus

Jede neue Konsole bedeutet eine neue Verbindung. IntelliJ IDEA 2018.3 ermöglicht es jedoch, nur eine einzige Verbindung für die Datenquelle zu verwenden und alle Konsolen dann diese eine Verbindung nutzen zu lassen. Sie können alle temporären Objekte in der Datenbankstruktur anzeigen. Es ist auch möglich, dieselbe Transaktion in verschiedenen Konsolen zu verwenden. Um es zu aktivieren, gehen Sie zu Data source properties | Options | Single connection mode.