Designs
Individualisierung von Designs
Wir haben aufregende Neuigkeiten für Sie! IntelliJ IDEA 2019.1 bietet offizielle Unterstützung für benutzerdefinierte Designs! Jetzt können Sie ganz einfach Ihr eigenes Design erstellen! Mehr erfahren.
Wir haben ein paar brandneue Designs entworfen, um Ihnen den Einstieg zu erleichtern. Gestalten Sie Ihre IDE im Handumdrehen bunter, indem Sie eines der neuen Designs herunterladen und in den Appearance-Einstellungen auswählen! Mehr erfahren.
Java
Unterstützung für Switch-Ausdrücke in Java 12 (Preview)
IntelliJ IDEA 2019.1 unterstützt Switch-Ausdrücke gemäß JEP 325 in der Java 12 Preview.
Wir haben eine Reihe neuer Inspektionen und Quick-Fixes, um Ihnen den Einstieg zu erleichtern. Die IDE kann alle switch-Anweisungen erkennen, die durch eine erweiterte switch-Anweisung oder einen erweiterten switch-Ausdruck ersetzt werden können, und bietet einen Quick-Fix zum Konvertieren an. Die IDE erkennt außerdem duplizierte switch-Branches und bietet einen Quick-Fix an, um sie zusammenzuführen. Und das ist nur die Spitze des Eisbergs.
Verbesserte Extract Variable-Refaktorierung
Die Refaktorierung "Extract Variable" wurde erheblich verbessert und bewahrt die Semantik jetzt noch besser als zuvor. Die IDE kann sogar aus dem Feldinitialisierer Variablen extrahieren, und die Refaktorierung zum Extrahieren von Variablen kann einen ternären Ausdruck automatisch in ein "if" konvertieren, wenn die Bedingung wichtig ist. Die Bedingung wird als wichtig angesehen, wenn sie eine Nullprüfung oder eine "instanceof"-Prüfung enthält.
Präzise Hervorhebung von Warnungen in ternären Ausdrücken
IntelliJ IDEA 2019.1 sorgt für eine genauere Hervorhebung von Warnungen für ternäre Ausdrücke. Es wird nur die Bedingung hervorgehoben, in der eine Nullability-Verletzung festgestellt wurde (in der Vorversion wurde der gesamte ternäre Ausdruck hervorgehoben, selbst wenn die Nullability-Verletzung nur einen einzelnen Branch betraf).
Dank dieser neuen Funktion wird die Hervorhebung auch in Switch-Ausdrücken präziser.
Verbesserte Analyse mathematischer Operationen
Die Datenflussanalyse kann das Ergebnis mathematischer Operationen verfolgen und verwendet diese Informationen, um Sie vor Bedingungen zu warnen, die immer wahr oder falsch sind. Wir haben die Analyse vieler mathematischer Operationen verbessert, einschließlich Multiplikation, Modulo und bitweise Operationen.
Inferenz der Konstruktor-Reinheit aus Quellen
IntelliJ IDEA 2019.1 verbessert die Unterstützung für @Contract-Annotationen. Es kann nun automatisch die Reinheit von Konstruktoren aus Quellen ableiten.
Navigation vom Java-Stack-Trace zur entsprechenden Position innerhalb einer Zeile
Wenn Sie auf den Java-Stack-Trace klicken, versucht die IDE, die genaue Position in der Zeile zu ermitteln, zu der der Cursor bewegt werden soll. Bisher gelangten Sie nur zur ersten Spalte der entsprechenden Zeile.
Erkennung von duplizierten Switch-Branches
Die IDE kann jetzt duplizierte Switch-Branches erkennen und bietet einen Quick-Fix zum Zusammenführen solcher Branches an.
Gradle
Das Delegieren von Build- und Run-Aktionen an Gradle kann für jedes Gradle-Projekt einzeln eingestellt werden
Es ist jetzt möglich, Build- und Run-Aktionen für jedes Projekt einzeln an Gradle zu delegieren. Konfigurieren Sie diese Option für jedes Gradle-Projekt einzeln, wenn Ihr IntelliJ IDEA-Projekt aus mehreren Gradle-Projekten besteht. Sie können sogar unterschiedliche Werte für den Test- und den Anwendungs-Runner in demselben Projekt festlegen.
In IntelliJ IDEA 2019.1 werden die Build- und Run-Aktionen für neue Gradle-Projekte standardmäßig an Gradle delegiert.
Korrekte Auswahl des Gradle-Test-Tasks beim Ausführen aus dem Editor
Mit IntelliJ IDEA 2019.1 haben wir die Unterstützung für Projekte mit mehreren Gradle-Source-Sets verbessert, bei denen die Testausführung an Gradle delegiert wird. Die IDE löst nun korrekt auf, welche Aufgabe ausgeführt werden soll, wenn ein bestimmter Test ausgeführt wurde. Bei mehreren Optionen bietet die IDE eine Liste aller Aufgaben an, die für den ausgewählten Test ausgeführt werden können.
HotSwap funktioniert, wenn Build-Aktionen an Gradle oder Maven delegiert werden
Wenn die Build-Aktionen an Gradle delegiert sind, wird HotSwap beim Debuggen ausgelöst und beim Erstellen eines Builds für ein Projekt werden die Klassen neu geladen.
HotSwap funktioniert auch, wenn Build-Aktionen an Maven delegiert werden.
Maven
Maven-Build-Ausgabe im Build-Toolfenster angezeigt
Der Einfachheit halber wird jetzt die gesamte Maven-Build-Ausgabe an einer einzigen Stelle angezeigt – im Build-Toolfenster. Es ist nicht mehr erforderlich, die Fenster Run oder Messages zu prüfen. Sie können die Ansicht auch umschalten und die Build-Ausgabe als Protokoll anzeigen.
Verbesserte Maven-Diagramme
Die Maven-Diagramme wurden verbessert und um neue Optionen erweitert. Sie können Konflikte und duplizierte Abhängigkeiten leicht finden, indem Sie "Show Conflicts/Duplicates" verwenden. Um alle Pfade zum Knoten anzuzeigen, klicken Sie auf "Show Paths: Root -> Selection".
Wenn Sie nur die Abhängigkeiten eines Knotens anzeigen möchten, wählen Sie "‘Show Neighbors of Selected Nodes" aus. Das Diagramm lässt sich jetzt auch in eine randlose Ansicht umschalten.
Versionsverwaltung
Fixup- und Squash-Aktionen zum VCS-Protokoll hinzugefügt
Rufen Sie im Kontextmenü der Registerkarte "VCS Log" die Aktionen "Fixup" und "Squash" auf, und diese Aktionen erstellen Commits mit den richtigen fixup! sind damit schnell erledigt.
Herauspicken bestimmter Dateien direkt aus dem VCS-Protokoll
Mit IntelliJ IDEA 2019.1 können Sie jetzt einzelne Dateien aus dem Commit auswählen, während Sie sich im VCS-Protokoll befinden. Rufen Sie einfach das Kontextmenü auf und wählen Sie die Option "Apply Selected Changes" aus.
Anzeige eingehender/ausgehender Commits
Im Popup „Branches“ kann jetzt optional die Verfügbarkeit von ein- und ausgehenden Commits für die einzelnen Codebranches angezeigt werden. Dazu müssen Sie unter "Preferences/Settings | Version Control | Git" die Option "‘Mark Branches that have incoming/outgoing commits in the Branches popup" aktivieren.
Gelöschte abgelegte Dateien können wiederhergestellt werden
Sie können jetzt alle kürzlich gelöschten Dateien anzeigen und nützliche abgelegte („shelved“) Dateien wiederherstellen. Verwenden Sie einfach auf der Registerkarte "Shelf" des VCS-Toolfensters den neuen Knoten "Recently Deleted".
Neues Kontrollkästchen "Uncheck all" für partielle Git-Commits
Zur Vereinfachung haben wir im Dialogfenster "Commit Changes" dem Bereich "Diff" ein neues Kontrollkästchen "Uncheck all" hinzugefügt, sodass Sie jetzt alle Codeabschnitte auf einmal deaktivieren können.
Modus zum Anzeigen der Initialen des Autors für VCS-Anmerkungen
Sie können jetzt die Initialen des Autors anstelle seines vollständigen Namens in den VCS-Anmerkungen anzeigen. Klicken Sie mit der rechten Maustaste auf die Annotation-Registerkarte und wählen Sie "View | Names | Initials" im Kontextmenü aus.
Differenz
Hinzufügen von Dateiinhalten zum leeren Diff-Fenster durch Ziehen und Ablegen
Es ist jetzt möglich, Text in ein leeres Diff-Fenster zu kopieren, indem Sie eine Datei darauf ziehen.
Seiten der verglichenen Dateien in der Diff-Ansicht vertauschen
Sie können jetzt die Seiten im Diff-Viewer tauschen, wenn der Viewer über "Compare two files", "Compare with clipboard" oder "Blank Diff" geöffnet wird. Zum Vertauschen von rechter und linker Datei wählen Sie einfach "Swap Sides".
Swap Sides ist auch beim Vergleich von Verzeichnissen verfügbar.
Zeichenbasierte Diff-Vorschau
Die Anzeige von Unterschieden kann jetzt auch nach Zeichen – und nicht wie früher nur nach Wörtern – erfolgen. Das kann sehr nützlich sein, wenn Ihr Quellcode Zeilen mit Zeichen aus verschiedenen Alphabeten enthält, z. B. Japanisch.
Popup für letzte Editorstellen
Lernen Sie das brandneue Navigations-Popup "Recent Locations" kennen, in dem alle kürzlich besuchten und geänderten Orte im Code angezeigt werden. Alle besuchten Orte sind in diesem Popup chronologisch angeordnet, wobei der zuletzt besuchte Ort oben und der älteste besuchte Ort unten angezeigt wird. Um das neue Popup "Recent Locations" aufzurufen, drücken Sie Cmd-Shift-E bzw. Strg+Umschalt+E.
JVM-Debugger
Unterstützung von "synchronized", "assert" und "switch" im Debugger-Evaluator
Der Debugger-Evaluator unterstützt jetzt synchronisierte Anweisungen, Assert-Ausdrücke und Switch-Anweisungen.
Prozedurschritt aus dem Codeblock im JVM-Debugger
Beim Debuggen eines Java-Projektes ist es jetzt möglich, mit einem Prozedurschritt aus dem aktuellen Block auszusteigen. Diese neue Aktion ist im Hauptmenü unter Run verfügbar.
Neue Mausbewegung "Run to mouse pointer"
Wenn Sie im Debug-Modus gern mit der Maus arbeiten, können Sie den Mauszeiger über eine Zeile bewegen, um die Zeile hervorzuheben. Wenn Sie dann auf eine Zeilennummer klicken, führt die IDE den Code bis zum Cursor aus.
Scala
Hervorhebung von for-Comprehensions
IntelliJ IDEA 2019.1 bietet erweiterte Unterstützung für for-Comprehensions, einschließlich Fehlerhervorhebung, implizite Hinweise sowie GoTo-, Kurzdefinition- und Kurzdokumentation-Aktionen.
Find Usages für implizite Definitionen
Find Usages kann jetzt für implizite Definitionen, Apply- und Unapply-Methoden, For-Comprehension-Methoden und Single Abstract Method-Typen (SAM) aufgerufen werden.
Nach Java dekompilieren
Sie können jetzt .class
-Dateien in Scala nach Java dekompilieren, selbst wenn keine Quellen vorliegen.
Benutzerdefinierbare Scalafmt-Version
Mit IntelliJ IDEA v2018.2 haben wir Unterstützung für den Scalafmt-Formatierer hinzugefügt. In dieser Version haben wir diese Funktion erweitert. Mit IntelliJ IDEA können Sie nicht nur eine benutzerdefinierte Scalafmt-Version verwenden, sondern die IDE kann jetzt auch die erforderliche Version für Sie herunterladen.
Separates HOCON-Plugin
Wir haben die HOCON-Unterstützung in ein separates Repository und Plugin extrahiert, das Sie nach Bedarf installieren oder deinstallieren können.
Verbesserte Fehlerhervorhebung
In dieser Version haben wir die Fehlerhervorhebung in mehrerer Hinsicht erheblich verbessert, einschließlich:
- Partielle Unifikation und Typvariablen-Unifikation im Allgemeinen.
- Konstruktor-Hervorhebung, Aufrufe privater Konstruktoren.
Better-monadic-for
-Compiler-Plugin:implicit0
-Funktion.Kind-projector
: polymorphe Lambdas auf Wertebene.Simulacrum
: Typkonstruktoren mit höherer Parameteranzahl.
Groovy
Unterstützung für Lambda-Syntax im Java-Stil ab Groovy 3.0
IntelliJ IDEA 2019.1 unterstützt die Lambda-Syntax im Java-Stil – eine experimentelle Funktion von Groovy 3.0. Die IDE bietet Bearbeitungsunterstützung, einschließlich Code-Vervollständigung, Hervorhebung und Typinferenz. Die Groovy-Intentions und -Inspektionen funktionieren auch im Lambda-Code einwandfrei. Formatierung und Debugging sind für Lambdas im Java-Stil ebenfalls verfügbar.
Kotlin
Das mit der IDE mitgelieferte Kotlin-Plugin wurde auf Version 1.3.21 aktualisiert.
Live-Vorlage zum Generieren von "main" ohne Parameter
Ab Kotlin 1.3 kann die main-Funktion ohne Parameter verwendet werden. Dementsprechend können Sie mit dieser Version von IntelliJ IDEA eine main-Methode ohne Parameter mithilfe der Live-Vorlage "main" erstellen.
Beachten Sie bitte, dass mit der Standardabkürzung "main" jetzt die neue Version der main-Methode erstellt wird. Wenn Sie Argumente benötigen, verwenden Sie die Abkürzung "maina".
Verbesserungen bei der String-Konvertierung
Die Intention "Convert concatenation to template" kann jetzt die unnötigen Aufrufe von .toString() für jeden Parameter entfernen.
Neue Intention: SAM als Lambda in anonymes Objekt konvertieren
Wenn Sie ein Konstrukt, das Lambdas mit SAM verwendet, in ein anonymes Objekt konvertieren müssen, verwenden Sie diese praktische neue Intentionsaktion.
Intention-Aktion zum Verbessern von Coroutine-Code
Wenn Sie mit Coroutinen arbeiten, schlägt IntelliJ IDEA bei Funktionen, die "Deferred" zurückgeben, das Hinzufügen des Suffixes "Async" vor.
JavaScript & TypeScript
Neue Intentions für JavaScript-Destrukturierung
IntelliJ IDEA 2019.1 enthält eine Reihe neuer Refaktorierungen und Intentions, die Ihnen helfen, Destrukturierung in Ihrem JavaScript- oder TypeScript-Code zu verwenden.
Intention: Funktion mit Promise in async/await konvertieren
Sie können eine Funktion, die ein Promise zurückgibt und mit .then()- und .catch()-Aufrufen verwendet wird, automatisch in eine async-Funktion mit async/await-Syntax umwandeln. Um diesen Quick-Fix zu verwenden, drücken Sie einfach Alt+Enter auf dem Funktionsnamen und wählen Sie Convert to async function. Dies ist für TypeScript, JavaScript und Flow verfügbar.
Aktualisierte Dokumentation für CSS und HTML
Die Kurzdokumentation für CSS-Eigenschaften, HTML-Tags und -Attribute (F1 / Strg-Q) enthält jetzt eine Kurzbeschreibung aus dem MDN, einschließlich der Kompatibilität mit den gängigen Browsern.
Verbesserte JavaScript-Debugger-Konsole
Die interaktive Debugger-Konsole in den Debug-Toolfenstern für JavaScript und Node.js zeigt Objekte jetzt in einer Baumstruktur an und unterstützt das Formatieren von Protokollnachrichten mit CSS sowie das Gruppieren mit console.group() und console.groupEnd(). Außerdem können damit beliebige Arten von Protokollnachrichten herausgefiltert werden.
Docker
Debuggen im Docker-Container
Jetzt können Sie den Debugger an eine Java-Anwendung anhängen, die in einem Docker-Container ausgeführt wird. Die IDE ermöglicht jetzt das Debuggen in Containern, die aus einer Dockerfile oder mit Docker Compose erstellt wurden (docker-compose.yml).
Kubernetes
Unterstützung externer Ressourcen
IntelliJ IDEA 2019.1 unterstützt externe Ressourcen. Das bedeutet, dass Sie jetzt eine benutzerdefinierte Ressourcendefinitions-Spezifikation aus externen Quellen laden können. Dies ist derzeit nur aus lokalen Dateien möglich. Um die Spezifikationen hinzuzufügen, gehen Sie zu "Preferences/Settings | Languages & Frameworks | Kubernetes" und geben Sie den Pfad zur benutzerdefinierten Ressourcendefinitions-Spezifikation an.
Rename-Refaktorierung für Charts von Helm-Ressourcendateien
Jetzt ist es möglich, die Rename-Refaktorierung auf das Chart einer Helm-Ressourcenvorlagendatei anzuwenden. Bitte beachten Sie, dass Sie das Plugin Go template installieren müssen, um diese Unterstützung für Helm-Ressourcenvorlagendateien zu aktivieren.
Editor
JSON-Export Ihrer Codestil-Einstellungen
Es ist jetzt möglich, alle Ihre Codestil-Einstellungen in IntelliJ IDEA (auch solche, die mit den Standardeinstellungen übereinstimmen) im JSON-Format zu exportieren. Wechseln Sie zu "Preferences/Settings | Editor | Code Style" und wählen Sie die Option "Export | IntelliJ IDEA code style JSON" im Dropdown-Menü aus.
Soft-Wraps abhängig vom Dateityp aktivieren
Soft-Wraps können auf bestimmte Dateitypen begrenzt werden. Verwenden Sie dafür im Menü "Preferences/Settings | Editor | General" das Feld "Soft-wrap files".
Tastaturbelegungsdialog für die Tastenkombination Strg+Y unter Windows
Wenn Sie zum ersten Mal die Tastenkombination Strg+Y unter Windows verwenden, wird das Dialogfenster zur Konfiguration der Tastaturbelegung geöffnet, in dem Sie aufgefordert werden, der Kombination entweder "Delete Line" (Zeile löschen) oder "Redo" (Erneut ausführen) zuzuweisen.
Sublime-Text Keymap
Wir haben IntelliJ IDEA weitere vorkonfigurierte Tastaturbelegungen hinzugefügt. In Version 2019.1 ist die Sublime-Text-Tastaturbelegung hinzugekommen. Gehen Sie zu "Preferences /Settings | Keymap" und wählen Sie in der Dropdown-Liste "Keymap" die Option "Sublime Text" aus – das ist alles! Jetzt können Sie die Tastenkürzel von Sublime Text in IntelliJ IDEA verwenden.
Plugin für VS-Code-Tastaturbelegung
Sie können jetzt die vorkonfigurierte VS-Code-Tastaturbelegung verwenden, die wir als separates Plugin zur Verfügung gestellt haben! Installieren Sie dieses Plugin und wählen Sie unter "Preferences/Settings | Keymap" die VS Code Keymap aus.
Unterstützung für Lambda-Syntax im Java-Stil ab Groovy 3.0
IntelliJ IDEA 2019.1 unterstützt die Lambda-Syntax im Java-Stil – eine experimentelle Funktion von Groovy 3.0. Die IDE bietet Bearbeitungsunterstützung, einschließlich Code-Vervollständigung, Hervorhebung und Typinferenz. Die Groovy-Intentions und -Inspektionen funktionieren auch im Lambda-Code einwandfrei. Formatierung und Debugging sind für Lambdas im Java-Stil ebenfalls verfügbar.
Spring Cloud Stream
Unterstützung für die Bearbeitung von Spring Cloud Streams
IntelliJ IDEA bietet jetzt eine umfassende Unterstützung für die Bearbeitung von Spring Cloud Stream-Projekten, wie Syntaxhervorhebung, Inspektionen, Quick-Fixes und Code-Vervollständigung (einschließlich Vervollständigung des Binder-Namens für Werte und Verweise in den application.properties- oder application.yml-Dateien).
Navigation zwischen gebundenen Producers und Consumers
Mithilfe des Randleistensymbols können Sie nun zwischen den gebundenen konsumierenden oder produzierenden Nachrichtenhandlern navigieren. Beachten Sie, dass Consumer und Producer in application.properties- und application.yml-Dateien über den Konfigurationsschlüssel "spring.cloud.stream.bindings" gebunden sein sollten.
Thymeleaf
Verbesserte Thymeleaf-Unterstützung
Jetzt können Sie zu Vorlagenfragmenten navigieren, auf die in den Attributen "th: replace" und "th: include" verwiesen wird. Codevervollständigung und die Rename-Refaktorierung funktionieren jetzt auch für diese inkludierten und ersetzten Fragmente.
Datenbank-Tools
Unterstützung für Greenplum, Vertica und Apache Hive
IntelliJ IDEA unterstützt diese neuen Datenbanken:
- Greenplum - eine auf PostgreSQL basierende Analysedatenbank.
- Vertica - spaltenorientierter Speicher für große Datenmengen.
- Apache Hive - ein auf Apache Hadoop aufgebautes Data Warehouse zur Bereitstellung von Datenabfragen und -analysen.
Verbesserter Verbindungsdialog
Wir haben das Aussehen des Verbindungsdialogs überarbeitet und mehrere wichtige Einstellungen hinzugefügt. Sie können jetzt im Feld "startup script" eine SQL-Abfrage hinzufügen, die bei jedem Verbindungsaufbau ausgeführt wird. Sie können auch ein Zeitlimit festlegen, nach dem die IDE die Verbindung automatisch trennt, oder ein Zeitintervall festlegen, um durch eine alle N Sekunden ausgeführte Abfrage die Verbindung aufrecht zu erhalten.