Das ist neu in PhpStorm 2019.3

Potenzieren Sie Ihre Produktivität mit diesem großen IDE-Update

Unterstützung von PHP 7.4

PHP 7.4 ist jetzt verfügbar und PhpStorm 2019.3 unterstützt alle neuen Sprachmerkmale. Die IDE bietet auch Inspektionen, um veraltete Sprachverwendungen zu identifizieren, sowie Quick-Fixes, die Ihnen beim Update Ihres Codes helfen.

Typisierte Eigenschaften

Typisierte Eigenschaften

Die Unterstützung für typisierte Eigenschaften wurde bereits in 2019.2 eingeführt. In v2019.3 sind die Quick-Fixes auch auf Sonderfälle vorbereitet, und Sie können schnell und einfach Typdeklarationen hinzufügen, indem Sie Alt-Enter drücken und Add declared type for the field auswählen. PhpStorm erkennt den Typ automatisch anhand der PHPDoc, des Standardwerts oder der Argumenttyp-Deklaration im Konstruktor.

Pfeilfunktionen

Pfeilfunktionen

PhpStorm bietet vollständige Unterstützung für die neue Kurzsyntax in PHP 7.4 für einzeilige Lambda-Funktionen. Die IDE vervollständigt Variablen aus dem übergeordneten Geltungsbereich und bringt Sie mit nur einem Klick zur entsprechenden Deklaration.

Ein Quick-Fix zum Konvertieren einzeiliger Lambda-Funktionen von der alten zur neuen Syntax ist ebenfalls verfügbar. Drücken Sie einfach Alt-Enter auf einer anonymen Funktion, und wählen Sie Convert closure to arrow function.

Trennzeichen für Zahlenliterale

Trennzeichen für Zahlenliterale

In PHP 7.4 können Sie lange Zahlen durch Unterstriche gliedern, um sie visuell zu formatieren und lesbarer zu machen.

Um eine lange Zahl übersichtlicher zu machen, setzen Sie den Textcursor auf die Zahl, drücken Sie Alt+Enter und wählen Sie Add number separators. Daraufhin wird die Zahl durch Unterstriche ('_') in Dreiergruppen (Dezimalzahlen) bzw. Vierergruppen (Hexadezimal-, Binär- und Oktalzahlen) gegliedert.

Geschachtelter ternärer Operator

Geschachtelter ternärer Operator

In PHP 7.4 ist die Linksassoziativität geschachtelter ? :-Operatoren als veraltet gekennzeichnet. Dies bedeutet, dass Sie entweder überhaupt keine geschachtelten ternären Ausdrücke verwenden sollten, oder falls doch, dann nur mit Klarstellung der Berechnungsreihenfolge durch Klammern.

PhpStorm 2019.3 hebt veraltete Ausdrücke hervor und bietet einen Quick-Fix zum Klären des Verhaltens.

Veraltete Merkmale

Veraltete Merkmale

Diese PHP-Version führt nicht nur neue Sprachmerkmale ein, sondern kennzeichnet auch viele bestehende Merkmale als veraltet.

PhpStorm 2019.3 verfügt über entsprechende Inspektionen, um Sie auf Codeabschnitte hinzuweisen, die Ihrer Aufmerksamkeit bedürfen. Wo immer möglich, helfen Ihnen Quick-Fixes, den veralteten Code zu aktualisieren.

Kovariante Rückgabewerte und kontravariante Parameter

Kovariante Rückgabewerte und kontravariante Parameter

PHP 7.4 behebt mehrere Inkonsistenzen, darunter eine, die sich auf das Typsystem auswirkt. Bei Methoden, die von einer Basisklasse geerbt wurden, können Sie jetzt einen spezifischeren Rückgabetyp und weniger spezifische Parametertypen definieren.

PSR-12

Der neue Codestil-Standard PSR-12 erweitert den bisherigen Standard PSR-2 um zusätzliche Regeln und neue Richtlinien für einige der neuen PHP-Merkmale. PSR-12 gehört zu den vordefinierten Codestilen in PhpStorm 2019.3, und die IDE schlägt Ihnen vor, zu diesem Stil zu wechseln. Sie können auch manuell wechseln – verwenden Sie dazu die Aktion Set from… unter Preferences | Editor | Code Style | PHP.

Außerdem schlägt PhpStorm die Aktivierung einer Reihe von PSR-12-Codestil-Inspektionen vor, die auf bestimmte Regelverstöße fokussiert sind.

Sie können Ihren Code durch Drücken von Cmd+Alt+L im Editor neu formatieren oder die Formatierung vor dem Commit ausführen. Mit Code > Code Cleanup... können Sie auch ein gesamtes Projekt oder einen Ordner neu formatieren.

WSL

WSL-Interpreter hinzugefügt

Das Windows-Subsystem für Linux ist eine Kompatibilitätsschicht zur nativen Ausführung von Linux-Binärdateien unter Windows 10. PhpStorm unterstützt jetzt die Entwicklung in einer WSL-Umgebung. Dazu starten Sie die IDE auf einem Windows-Computer, wählen jedoch bei der Entwicklung WSL/Linux als Zielplattform. Sie können in der WSL einen Remote-PHP-Interpreter vorgeben, der für die Ausführung von Skripten, Tests und Composer-Befehlen sowie zum Debuggen verwendet wird.

Interpreter für PHP-Testlaufkonfigurationen vorgeben

Interpreter für PHP-Testlaufkonfigurationen vorgeben

Bisher konnten Testlaufkonfigurationen nur über den Standard-PHP-Interpreter des Projekts ausgeführt werden, was manchmal unpraktisch war.

Dies ist nicht mehr der Fall. In PhpStorm 2019.3 können Sie jeden beliebigen konfigurierten Interpreter auswählen und Ihre Tests damit ausführen: Docker, Vagrant, über SSH, WSL oder etwas anderes – Sie haben die Wahl!

Und vieles mehr

Verbesserungen für PHPDoc

Verbesserungen für PHPDoc

PhpStorm zeigte traditionell den gesamten PHPDoc-Block in einer Farbe an – genau wie normale Kommentare.

Ab sofort werden in Doc-Blöcken alle Typen, Variablen, Parameter, Methoden und Eigenschaften hervorgehoben. Auch HTML wird in Kommentaren entsprechend hervorgehoben.

Schriftarten und Farben für $this-Variable

Schriftarten und Farben für $this-Variable

Sie können jetzt die Schriftart und die Einfärbung von $this-Vorkommen frei wählen: Unter Preferences | Editor | Color Scheme | PHP | Identifiers können Sie die Darstellung ganz nach Ihrem Geschmack einstellen.

PHP-Hervorhebung in Markdown und Strings

PHP-Hervorhebung in Markdown und Strings

PhpStorm 2019.3 hebt PHP-Codeblöcke in Markdown-Dateien automatisch hervor, wenn Sie 'php' als Info-String verwenden. Sie können PHP-Hervorhebung auch in anderen Strings nutzen. Dabei hilft Ihnen ein spezieller PHP-Dialekt namens Injectable PHP, der ähnlich wie PHP funktioniert, aber kein öffnendes Tag erfordert.

Kontextaktionen für if-else
Zuordnung extrahieren

Zuordnung extrahieren

Verschachtelte Bedingungen zusammenführen

Verschachtelte Bedingungen zusammenführen

else mit nachfolgendem if zusammenführen

else mit nachfolgendem if zusammenführen

HTTP-Client

Dieses kurze Videotutorial zur Verwendung des HTTP-Clients in PhpStorm macht Sie zum Profi in Sachen HTTP-Requests.

Editor-Symbolleiste

Editor-Symbolleiste

Beim Öffnen einer .http-Datei wird jetzt eine Symbolleiste mit den häufigsten Aktionen angezeigt:

  • Add request – Anfragen aus Vorlagen erstellen
  • Convert from cURL – Anfragen durch Einfügen einer cURL-Zeichenfolge erstellen
  • Open Log – gesendete Anfragen einsehen und Antworten öffnen/vergleichen
  • Examples – eine nützliche Sammlung von HTTP-Beispielanfragen
Dynamische Variablen

Dynamische Variablen

Wir haben drei dynamische Variablen eingeführt, die Sie in Ihren Anfragen verwenden können:

  • $uuid – generiert eine neue UUID-v4
  • $timestamp – aktueller Unix-Zeitstempel
  • $randomInt – zufällige Ganzzahl zwischen 0 und 1000

Verwenden Sie doppelte geschweifte Klammern, um diese Variablen an der gewünschten Stelle einzufügen.

Alle ausführen

Alle ausführen

Sie können mehrere Anfragen in einer .http-Datei eingeben. Dies kann bei verketteten Anfragen praktisch sein, wenn eine Anfrage vom Ergebnis der vorherigen Abfragen abhängt.

Früher musste jede Anfrage einzeln ausgeführt werden – in PhpStorm 2019.3 können Sie sie alle Anfragen mit einem Klick ausführen!

Faltung von Anfragen.

Faltung von Anfragen.

Wenn eine Anfrage zum Beispiel einen langen Hauptteil hat, mehrteilige Formulardaten enthält oder viele Header aufweist, kann es praktisch sein, den Inhalt auszublenden, um die Übersichtlichkeit im Editor zu erhöhen.

Durch Anklicken eines kleinen Pfeilsymbols in der Randleiste können Sie die gesamte Anfrage zuklappen, sodass nur die erste Zeile oder der Hauptteil angezeigt wird.

Web-Technologien

Wie üblich sind alle neuen Funktionen und Verbesserungen von WebStorm 2019.3 auch in PhpStorm 2019.3 verfügbar – entweder als integrierte Funktionen oder als kostenlose Plugins, die aus dem Plugin-Marketplace heruntergeladen werden können.

Erweiterte Unterstützung für Vue.js

Erweiterte Unterstützung für Vue.js

Mit der neuen Intention Propagate to destructuring (Alt-Enter) können Sie eine Extra-Variable durch eine weitere Destrukturierung ersetzen. Um eine Destrukturierung vollständig zu entfernen, verwenden Sie die Intention-Aktion Replace destructuring with property or index access.

Die IDE warnt Sie jetzt, wenn ein Boolescher Ausdruck in einer Bedingung unnötige Elemente enthält, und schlägt eine Vereinfachung vor.

Vervollständigung für CSS-Bibliotheken aus CDNs

Vervollständigung für CSS-Bibliotheken aus CDNs

Wenn Sie ein Symbol in einer JavaScript- oder TypeScript-Datei umbenennen, gruppiert die IDE dynamische Verwendungen und schließt sie standardmäßig von der Refaktorierung aus. Dies macht die Refaktorierung präziser und gibt Ihnen im Toolfenster Refactoring Preview mehr Kontrolle darüber, was genau umbenannt werden soll.

Namensvorschläge für neue Symbole

Namensvorschläge für neue Symbole

Verwenden Sie Vuetify oder BootstrapVue in Ihrer Vue.js-Anwendung? Dann freuen Sie sich auf eine akkuratere Vervollständigung von Komponenten und deren Eigenschaften aus diesen und anderen Vue-Komponentenbibliotheken. Möglich wurde dies durch einen neuen Ansatz bei der Nutzung dieser Bibliotheken in der IDE.

Versionsverwaltung

Neue UI für das Klonen von Projekten aus VCS-Systemen und GitHub

Neue UI für das Klonen von Projekten aus VCS-Systemen und GitHub

Wenn Sie auf dem Begrüßungsbildschirm der IDE oder im VCS-Menü ein Projekt aus einem Versionsverwaltungssystem klonen, bekommen Sie einen überarbeiteten „Get from Version Control“-Dialog angezeigt.

Mit dieser Überarbeitung möchten wir das Herunterladen von Projekten aus GitHub vereinfachen. Sie können jetzt im linken Bereich des Dialogs GitHub auswählen und sich direkt bei Ihrem Konto anmelden.

Beliebigen Branch pushen

Beliebigen Branch pushen

Sie können jetzt Änderungen in einem beliebigen Branch direkt aus dem Branches-Popup pushen – wählen Sie dazu den Branch aus und verwenden Sie die Push-Aktion im Menü.

Bisher konnten nur Änderungen aus dem Branch gepusht werden, an dem man gerade arbeitete. Um Änderungen aus einem anderen Branch zu übertragen, musste man zuerst zu diesem Branch wechseln.

Individualisierung des Datumsformats

Individualisierung des Datumsformats

Beim Durchlesen eines Versionsverlaufs ist es manchmal einfacher, die Informationen zu verstehen, wenn die Zeitangaben in einem Format wie TT/MM/JJJJ oder MM/TT/JJJJ dargestellt sind.

PhpStorm 2019.3 bietet Ihnen die Möglichkeit, das Datumsformat für die Aktionen VCS Annotate and VCS Log zu konfigurieren.

Datenbank-Tools

Unsere Kollegen im DataGrip-Team haben die Datenbanktools in PhpStorm um einige interessante Verbesserungen bereichert. Erfahren Sie mehr unter Das ist neu in DataGrip 2019.3.

MongoDB-Unterstützung

Die lang erwartete MongoDB-Unterstützung hat es endlich in die JetBrains-IDEs – darunter auch PhpStorm – geschafft. Sie können jetzt Collections und Felder im Datenbank-Explorer einsehen oder die Daten anzeigen . Eine Baumstruktur-Ansicht wird ebenfalls unterstützt. Sie können die Daten auch nach Spalten sortieren oder die Werte filtern. Nicht zuletzt lassen sich Abfragen direkt in der IDE ausführen.

Weitere Verbesserungen:

  • Schnellerer Start – der Begrüßungsbildschirm und das IDE-Fenster mit bereits indizierten Projekten wird jetzt viel schneller geöffnet.
  • Bessere Plugin-Verwaltung – die IDE muss nicht mehr neu gestartet werden, wenn Sie Design-Plugins hinzufügen oder entfernen.
  • Verbesserte Kubernetes-Unterstützung über das entsprechende Plugin.
  • Bildlaufleisten mit hohem Kontrast – aktivieren Sie „Use contrast scrollbars“ unter Preferences/Settings | Appearance & Behavior | Appearance.
  • Suchen im ausgewählten Bereich mit der Find-Aktion.
  • Flüssiges Scrollen mit der Maus – Preferences | Appearance & Behavior | Appearance > Smooth scrolling.