
Hallo allerseits! Wir freuen uns, Ihnen die zweite Hauptversion von PhpStorm in diesem Jahr präsentieren zu können!
Eine Übersicht über die Version finden Sie auf der Seite „ Was ist neu? “. Und unter dem Schnitt eine detaillierte Analyse aller auffälligen Änderungen und neuen Funktionen. (Achtung - viele Bilder!)
Sie können die neue Version auf der Website oder über die Toolbox-App herunterladen. Wie immer steht eine 30-Tage-Testversion zur Verfügung. Die Vollversion kann von Inhabern eines aktiven Abonnements für PhpStorm oder All Products Pack sowie von kostenlosen Studenten und Entwicklern von Open Source-Projekten verwendet werden.
PHP 7.4: Typisierte Eigenschaften
PHP 7.4 verspricht die coolste und funktionsreichste Version seit PHP 7.0 zu sein! Sehen Sie sich alle darin akzeptierten RFCs an .
Die am meisten erwartete Funktion sind natürlich typisierte Eigenschaften , und PhpStorm 2019.2 unterstützt sie bereits vollständig! Einschließlich Hintergrundbeleuchtung, Ausgabe und Typauflösung sowie aller Arten von Überprüfungen.
Wenn Sie versuchen, etwas in die Eigenschaft einzufügen, werden Sie von PhpStorm sofort gewarnt.

Um sich jedoch auf die Migration auf PHP 7.4 vorzubereiten, die Ende November veröffentlicht wird, verfügt PhpStorm über schnelle Lösungen. Um einen Typ zu deklarieren, können Alt+Enter
für eine Eigenschaft ohne Typ Alt+Enter
drücken und für das Feld Deklarierten Typ hinzufügen auswählen . PhpStorm bestimmt den Typ einer Eigenschaft basierend auf den Informationen in PHPDoc, dem Standardwert oder einer Argumenttypdeklaration, wenn die Eigenschaft über einen Konstruktor eingefügt wird.

?? = Operator (Null-Koaleszenz-Zuweisung)
Der neue Zuweisungsoperator für kurze Nullprüfungen ist sehr praktisch für umfangreiche Ausdrücke.
In PhpStorm wird natürlich die Syntax unterstützt, aber es gibt immer noch eine schnelle Lösung Alt+Enter
um zu ersetzen ??
wo möglich:

Der Dekomprimierungsoperator (...) in Arrays
PHP unterstützt das Entpacken von Argumenten mit einem Operator …
seit Version 5.6. In der kommenden Version von PHP kann der Operator in Arrays verwendet werden:

PhpStorm analysiert die Verwendung des Operators auf Richtigkeit und stellt sicher, dass Sie nur Arrays oder Traversable-Objekte entpacken und nicht versehentlich versuchen, etwas zu tun, das vom PHP-Interpreter nicht unterstützt wird:

In der nächsten Version von PhpStorm 2019.3 planen wir die vollständige Unterstützung und schnelle Korrektur aller neuen PHP 7.4-Funktionen, einschließlich Pfeilfunktionen, Trennzeichen in numerischen Literalen usw.
Automatische Injektion von regulären Ausdrücken in PHP
In früheren Versionen von PhpStorm wurden reguläre Ausdrücke im PHP-Code standardmäßig nicht hervorgehoben und wie reguläre Zeichenfolgen angezeigt. Natürlich können Sie die RegExp-Sprache manuell implementieren, aber Sie werden dies nicht während des gesamten Projekts tun.
PhpStorm 2019.2 bietet volle Unterstützung für Stammgäste in PHP! Dies bedeutet, dass bei Verwendung von preg_*,
-Funktionen im Code preg_*,
Vorlagen hervorgehoben und auf ihre Gültigkeit überprüft werden.

Außerdem können Sie jetzt den regulären Ausdruck direkt in der IDE testen! Bewegen Sie den Mauszeiger über die Vorlage, drücken Sie Alt+Enter
und rufen Sie Check RegExp auf .

Doppelte Code-Hervorhebung im laufenden Betrieb
Das Suchen von Duplikaten in PhpStorm gibt es schon seit einiger Zeit im Menü Code → Duplikate suchen. Wenn Sie es noch nicht ausprobiert haben, probieren Sie es aus - und wundern Sie sich, wie viele Wiederholungen im Projekt enthalten sein können!
In dieser Version hat die Duplizierungsanalyse ein neues Niveau erreicht und funktioniert direkt im Editor. Wenn Sie wiederholt dieselben Stücke kopiert oder versehentlich geschrieben haben, werden Sie sofort davon erfahren.
Sie können zu einem anderen Duplikat gehen oder alles in einer Liste in einem separaten Fenster anzeigen:

Übrigens sind dies gute Kandidaten für das Refactoring von Extrakten .
Die neue Prüfung heißt Dupliziertes Codefragment und ist standardmäßig aktiviert. Der Empfindlichkeitsschwellenwert kann in den Einstellungen | eingestellt werden Editor | Inspektionen | Allgemeines | Dupliziertes Codefragment -> PHP . Und in den Einstellungen | Editor | Duplikate: Sie können festlegen, welche Elemente bei der Suche nach Duplikaten ignoriert werden. Sie können beispielsweise verschiedene Namen von Variablen, Methoden oder Eigenschaften sowie konstante Werte ignorieren.
Unterstützung des PHPT-Formats
Möchten Sie einen Beitrag zu PHP selbst leisten und PHP Internals beitreten? Am besten beginnen Sie mit Dokumentation und Tests! Glücklicherweise müssen Sie C nicht kennen. Dazu werden PHP-Tests in speziellen .phpt- Dateien geschrieben. Tatsächlich ist dies eine Textdatei, die in mehrere Abschnitte unterteilt ist, von denen einige PHP-Code enthalten können.
In PhpStorm 2019.2 werden also auch PHTP-Dateien unterstützt! Abschnitte werden hervorgehoben, PHP und INI werden bei Bedarf automatisch implementiert, Übergänge zu externen Dateien in den entsprechenden Abschnitten funktionieren.

Weitere Informationen zum Schreiben von Tests für PHP finden Sie hier: PHP TestFest Tutorials , PHP Internals Book und qa.php.net .
Ausführen von Composer über einen beliebigen PHP-Interpreter
Bisher brauchten Sie zum Ausführen von Composer immer einen lokalen PHP-Interpreter. Das Problem ist, dass es möglicherweise überhaupt nicht existiert oder die Umgebung möglicherweise nicht der Produktion entspricht. In PhpStorm 2019.2 können Sie Composer jetzt über jeden in der IDE konfigurierten Interpreter ausführen. Zum Beispiel über Docker, Docker-Compose, Vagrant oder beispielsweise einen Remote-Server über SSH.
Um diese Funktion auszuprobieren, wählen Sie in den Einstellungen | Remote Interpreter aus Sprachen & Frameworks | Php | Komponist

Wählen Sie einen vorhandenen Dolmetscher aus oder fügen Sie einen neuen hinzu!
Schnelle Lösungen
Wir teilen die Liste in mehrere Zeilen auf und umgekehrt
Laut PSR-2 sollte eine Zeile mit einer Länge von mehr als 80 Zeichen in mehrere Zeilen aufgeteilt werden, von denen jede kürzer als 80 Zeichen ist. Wenn Sie also ein großes Array haben oder die Argumente / Parameter der Funktion nicht auf den Bildschirm passen, können Sie Alt+Enter
drücken und durch Komma getrennte Werte in mehrere Zeilen teilen auswählen :

Wenn die Liste durch Refactoring plötzlich kürzer wird und in eine Zeile passt, ist auch die umgekehrte Aktion verfügbar: Verbinden Sie durch Kommas getrennte Werte zu einer einzelnen Zeile .
Übrigens müssen Sie hier möglicherweise die Einstellungen für den Codestil schnell anpassen. Um lange nicht nach den erforderlichen Optionen zu suchen, wählen Sie diesen Code aus, drücken Sie Alt+Enter
und rufen Sie Einstellungen für Codestil anpassen auf . PhpStorm bietet an, nur die Optionen zu ändern, die für die ausgewählten Zeilen relevant sind:

Konstrukt wechseln
Wir haben die Möglichkeit implementiert, schnell Zweige hinzuzufügen, um Designs zu wechseln. Drücken Sie Alt+Enter
für den Fallausdruck ohne Text und rufen Sie den Zweig "Schalter wechseln" auf .
Vergessen Sie nicht, den kopierten Zweig zu bearbeiten, da sonst PhpStorm das sich wiederholende Stück hervorhebt:

PhpStorm 2019.2 warnt auch, wenn der switch
keinen Standardzweig enthält, und Sie können ihn auch mithilfe einer Schnellkorrektur hinzufügen.
String-Manipulation
PhpStorm hilft bei routinemäßigen Zeichenfolgenoperationen. Was auch immer Sie mit der Zeichenfolge zu tun haben - teilen Sie sie in Teile, ändern Sie die Anführungszeichen, konvertieren Sie die Verkettung in sprintf
oder Interpolation oder irgendetwas anderes - drücken Sie Alt+Enter
auf der Zeichenfolge und wählen Sie die gewünschte Aktion aus der Liste aus.
In dieser Version haben wir dieser Liste einige neue Chips hinzugefügt.
Angenommen, Sie haben einen langen Ausdruck in sprintf
und müssen anstelle eines Teilstrings einen weiteren Parameter hinzufügen. Wählen Sie es aus, drücken Sie Alt+Enter
, wählen Sie Ausgewähltes Zeichenfolgenteil als Formatfunktionsargument extrahieren, und PhpStorm platziert den Parameter an der richtigen Stelle:

Sie können den Teilstring auch durch Verkettung trennen:

Vorschau für die strukturelle Suche
Die strukturelle Suche, kurz SSR, ist ein leistungsstarkes Tool, mit dem Sie nicht nur als Text, sondern auch als kleine Syntaxbäume nach Codeteilen suchen und gleichzeitig Knotentypen oder andere Filter angeben können. Probieren Sie es aus: Bearbeiten -> Suchen -> Strukturell suchen ...
Das Problem bei der strukturellen Suche besteht darin, dass die Beschreibung eines Suchmusters eine nicht triviale Aufgabe sein kann. In PhpStorm 2019.2 können Sie glücklicherweise jetzt die Echtzeit-Hervorhebung im Editor sehen. Es ist nicht erforderlich, die Suche immer wieder auszuführen, um die Vorlage zu debuggen.
Stellen Sie sich zum Beispiel vor, Sie möchten alle Aufrufe einer bestimmten Methode einer Klasse finden, aber nur diejenigen, in denen ein Objekt einer anderen bestimmten Klasse als Parameter übergeben wird. Es wird schwierig sein, dies mit einer regelmäßigen Suche zu finden, aber mit der SSR - sofort!

HTTP-Client
Unterstützung des CURL-Formats
Fast alle Webentwicklungs- und Dokumentationstools bieten jetzt die Möglichkeit, eine Abfrage als cURL-Zeichenfolge zu kopieren.
Jetzt kann diese Zeile in PhpStorm verwendet werden. Erstellen Sie eine Datei mit der Erweiterung .http oder eine neue HTTP-Anforderungs-Scratch-Datei mit der Tastenkombination Cmd+Shift+N (Ctrl+Shift+Alt+Insert)
und fügen Sie dann die Abfragezeichenfolge cURL ein. Es wird automatisch in eine vollständige Abfrage konvertiert, und Sie können dann bequem mit Headern und anderen Abfrageparametern experimentieren.

Der HTTP-Client speichert Cookies
Angenommen, Sie testen einen Dienst, stellen eine Authentifizierungsanforderung und rufen dann bei der nächsten Anforderung einen privaten Endpunkt auf. Zuvor ging ein Cookie mit Sitzungsinformationen aus der ersten Anforderung verloren. Und in 2019.2 werden alle Cookies gespeichert und in nachfolgenden Anfragen übertragen.

Wenn Sie nicht möchten, dass Cookies gespeichert werden, verwenden Sie das Tag @no-cookie-jar
für eine bestimmte Anfrage.
Versionskontrolle
Ein neuer Weg, sich ohne Dialog zu engagieren
Angenommen, Sie ändern mehrere Dateien in verschiedenen Ordnern eines Projekts. Um sie festzuschreiben, rufen Sie die Registerkarte Lokale Änderungen des Fensters Versionskontrolle auf, wählen Sie die erforderlichen Dateien aus und rufen Sie das Dialogfeld Festschreiben auf. Zu diesem Zeitpunkt wird alles durch ein Popup-Fenster blockiert, und Sie können das Projekt nicht sehen.
In PhpStorm 2019.2 können Sie direkt über die Registerkarte Lokale Änderungen festschreiben.
Wenn Sie jetzt am Commit arbeiten, können Sie das gesamte Projekt, den Verlauf und im Allgemeinen alles in der IDE anzeigen.

Die Funktion ist standardmäßig deaktiviert. Aktivieren Sie zum Ausprobieren unter " Einstellungen " die Option "Über lokale Änderungen festschreiben, ohne dass ein Dialogfeld angezeigt wird" Versionskontrolle | Dialogfeld festschreiben.
Verwandte Dateierinnerungen
Wenn Sie ein Commit durchführen, können Sie in PhpStorm 2019.2 aufgefordert werden, Dateien hinzuzufügen, die sich häufig geändert haben, sowie solche, die Sie bereits für das Commit ausgewählt haben.

Verbesserte Arbeit mit .gitignore
PhpStorm unterstützt .gitignore
und hebt ignorierte Dateien in der Projektansicht hervor .
Es ist etwas einfacher geworden, .gitignore
hinzuzufügen. Dies kann im Versionskontrollfenster durch Aufrufen von Hinzufügen zu .gitignore aus dem Kontextmenü für Dateien aufgerufen werden, die dem Versionskontrollsystem noch nicht hinzugefügt wurden.

Die .gitignore
Datei .gitignore
jetzt die .gitignore
, und durch .gitignore
von Cmd+click
Datei in der Projektansicht hervorgehoben .

Sie können Autoren-, Daten- oder Hashspalten im Protokoll ausblenden.

Vergleichen des aktuellen Status mit einem Zweig
Rufen Sie dazu einfach den Befehl Show Diff with Working Tree im Popup-Fenster Git Branches auf , das angezeigt wird, indem Sie auf den Namen des aktuellen Zweigs in der unteren rechten Ecke klicken.

Verzeichnisverlauf in der Projektansicht
Sie können mehrere Ordner in der Projektansicht auswählen und den Änderungsverlauf für sie mithilfe von Git | anzeigen Verlauf aus dem Kontextmenü anzeigen.

Docker
Wir haben Docker in das neue Fenster " Dienste" verschoben. In diesem Fenster werden alle Verbindungen und laufenden Prozesse an einem Ort gesammelt. Bisher enthält PhpStorm standardmäßig Docker- und Datenbankverbindungen. Sie können dem Fenster " Dienste" auch beliebige Run / Debug- Konfigurationen hinzufügen. Dies ist in den Konfigurationen verfügbar, die im Abschnitt Dienste von Ausführen | verfügbar sind Konfigurationen bearbeiten ...
Alle Dienste werden als Knoten angezeigt, aber jeder von ihnen kann durch Aufrufen der Registerkarte Neu anzeigen oder durch einfaches Ziehen des Knotens mit dem Titel des Fensters Dienste zu einer separaten Registerkarte erstellt werden.

Docker Container-Dateisystem anzeigen
Sie können auf der Registerkarte Dateien durch den Inhalt des Containers navigieren.

Der Herausgeber
Code-Vervollständigung eingeben
Wenn Sie plötzlich funtcion
oder fnction
anstelle von function
, ist dies nicht beängstigend, da das Add-On ohnehin funktioniert, da es diese Art von Tippfehler erkennt.

Dies funktioniert in allen Sprachen und für alle Zeichen - Schlüsselwörter, Klassen, Funktionen, Eigenschaften, Methoden usw.
Verhaltenskonfiguration 'Caret zum nächsten Wort verschieben'
Sie können auswählen, wo der Cursor beim Bewegen durch Wörter platziert werden soll. Weitere Informationen finden Sie im Abschnitt Caret-Bewegung unter Einstellungen | Editor | Allgemein
< 
Gehen Sie über Klammern und Anführungszeichen hinaus, wenn Sie die Tabulatortaste drücken
Der alte Chip ist jetzt standardmäßig aktiviert. Wenn Sie die Tabulatortaste eingeben und drücken, anstatt ein Tabulatorzeichen hinzuzufügen, bewegt sich der Cursor über Anführungszeichen und Klammern hinaus. Um diese Funktion zu deaktivieren, deaktivieren Sie das Kontrollkästchen Außerhalb der schließenden Klammer / des Anführungszeichens mit Tabulator, wenn Sie das Kontrollkästchen in den Einstellungen | Editor | Allgemeines | Smart Keys

Der hervorgehobene Code wird automatisch in Anführungszeichen oder Klammern gesetzt
Eine weitere sehr nützliche Funktion ist jetzt standardmäßig aktiviert. Wenn Sie auf ein Zitat (oder eine Klammer) klicken, um einen Code auszuwählen, werden am Anfang und am Ende der Auswahl automatisch Anführungszeichen (oder Klammern) hinzugefügt.

Wenn Ihnen dieses Verhalten nicht gefällt, können Sie es deaktivieren, indem Sie beim Eingeben von Anführungszeichen oder Klammern in den Einstellungen | die Option " Surround" aktivieren Editor | Allgemeines | Smart Keys
Neues Standardlayout unter macOS
Wir haben das Standardlayout unter macOS von Mac OS X auf macOS 10.5+ geändert. Wir haben auch Layouts umbenannt: Mac OS X 10.5 heißt jetzt Standard für macOS, und das alte Mac OS X heißt jetzt IntelliJ IDEA Classic.
Syntaxhervorhebung für über 20 Sprachen
Wenn Ihr Projekt Dateien in anderen Programmiersprachen als PHP und JavaScript enthält, werden Sie von PhpStorm 2019.2 angenehm überrascht sein, wenn die Syntax für Python, Ruby, Go und eine ganze Reihe anderer Sprachen hervorgehoben wird. Dies funktioniert sofort und erfordert keine zusätzlichen Einstellungen.
Damit möchten wir die Erfahrung mit PhpStorm für Benutzer verbessern, die manchmal Code in anderen Sprachen betrachten müssen. PhpStorm ist nach wie vor hauptsächlich eine PHP- und Webentwicklungsumgebung. Daher planen wir nicht, die Unterstützung anderer Sprachen über den Bereich der Hervorhebung hinaus auszudehnen.

Die Syntaxhervorhebung für zusätzliche Sprachen basiert auf TextMate-Grammatiken. Die vollständige Liste der sofort unterstützten Sprachen finden Sie unter Einstellungen | Editor | TextMate-Bundles .
Shell-Skripte
In PhpStorm 2019.2 haben wir eine umfassende Unterstützung für Shell-Skripte implementiert, einschließlich Pfadergänzungen, Umbenennung umbenennen, Codegenerierung ( Cmd+N/Alt+Insert)
und ein Paket von Live-Vorlagen ( Cmd+J/Ctrl+J)
.

Außerdem wurde die Integration mit mehreren externen Tools implementiert.
Um nach potenziellen Problemen in Skripten zu suchen, schlägt PhpStorm vor, Shellcheck zu installieren, das eine Menge Probleme findet und schnelle Lösungen für diese bietet.
Auch in PhpStorm 2019.2 ist es in das Tool mvdan / sh zum Formatieren von Shell-Skripten integriert. Wenn Sie den Code zum ersten Mal neu formatieren, werden Sie von der IDE aufgefordert, ihn zu installieren und anschließend korrekt zu formatieren.
Und schließlich gibt es eine Integration mit der Explainshell- Website. Sie können einen beliebigen Befehl auswählen, Alt+Enter
drücken und die Explain-Shell auswählen. Die IDE leitet zu Explainshell weiter , wo Sie sehen können, was der ausgewählte Satz bedeutet. Wenn Sie mit der Maus über einen Befehl direkt in der IDE fahren, wird auch eine Hilfe angezeigt.

EditorConfig
Durch Hinzufügen der Datei .editorconfig wird die Entwicklung im Team angenehmer, da bestimmte Stiloptionen unabhängig vom verwendeten Editor für alle gleich funktionieren.
Früher war es in PhpStorm erforderlich, das EditorConfig-Plugin zu installieren. In 2019.2 ist es jedoch sofort verfügbar und es sind keine zusätzlichen Schritte erforderlich.
Sie können verschiedene Einstellungen für verschiedene Unterordner im Projekt festlegen. Erstellen .editorconfig
einfach .editorconfig
Dateien in den erforderlichen Ordnern - es können so viele davon im Projekt vorhanden sein.
Sie können auch PhpStorm ! -Optionen in der .editconfig-Datei festlegen!
Zusätzlich zu den Standardoptionen für EditorConfig können Sie fast alle für PhpStorm spezifischen Stiloptionen konfigurieren. Bisher konnten sie nur über die Benutzeroberfläche konfiguriert werden. Solche Optionen werden durch das Präfix ij_
angezeigt, um sich von den Standardoptionen zu unterscheiden.

Wenn Sie in der Projektansicht eine neue .editorconfig-Datei erstellen, werden Sie von PhpStorm aufgefordert, die Optionen auszuwählen, die in die erstellte Datei aufgenommen werden sollen. Sie werden auskommentiert hinzugefügt, und die erforderlichen können kommentiert und geändert werden.

Aussehen
Weitere Informationen in der Projektansicht
Sie können die Anzeige der Dateigröße und des Änderungsdatums in der Projektansicht über Ansicht -> In-Place-Beschreibungen aktivieren.

Eine neue Art von Inspektions-Tooltip
Der Tooltip beschreibt nun nicht nur das Problem, sondern bietet auch die erste Lösung aus der Liste. Drücken Sie Alt+Shift+Enter
um es auch ohne Hinweis oder Klicken sofort anzuwenden. Drücken Sie Alt+Enter
um alle verfügbaren Korrekturen Alt+Enter
.

Aktualisierte Benutzeroberfläche unter Windows
Neue rahmenlose Ansicht unter Windows 10:

PhpStorm enthält wie immer alle Updates von WebStorm und DataGrip. Eine vollständige Liste der Änderungen finden Sie in sehr umfangreichen Versionshinweisen .
Und schließlich ein kurzes Video (auf Englisch) mit einer Demonstration der Hauptmerkmale der Veröffentlichung:
Das ist alles für einmal. Vielen Dank für das Lesen bis zum Ende! Fragen, Wünsche, Fehlerberichte und nur Gedanken kommen in den Kommentaren zum Ausdruck! Wir werden gerne antworten.
Ihr JetBrains PhpStorm-Team