Aktuelle EAP Version

Aktuelle EAP Version

Auf dieser Seite werden alle wichtigen Informationen zu der aktuellen EAP Version zusammengefasst. Die aktuelle EAP Phase läuft für gewöhnlich für 8 Wochen und hat am 28.01.2022 begonnen. Über diesen Zeitraum hinweg, werden Neuigkeiten für die nächste Version veröffentlicht. Einen Gesamtüberblick über diese Version findet Ihr hier.


Änderungen im Überblick

  • EAP Laufzeit und Versionen
  • Aktueller EAP Splash
  • Verbesserter Markdown Support
    • Starten von Code Snippets
    • Kopieren von Code Snippets
  • Code Formatierung im „Light Edit“ Modus
  • Neues Benachrichtigung Tool
  • Neue erweiterte PHP Metadaten
    • Support to magic __call and __callStatic
    • Support @|MyClass type

EAP Laufzeit und Versionen

Jede EAP Version hat ihre eigene Versionsnummer und dementsprechend die eigenen Release-Notes. Die entsprechenden Notes verlinken auf den YouTrack von Jetbrains selbst.

Release-DatumVersionsnummerRelease-Notes
28.01.2022PS-221.3427.92Release-Notes
10.02.2022PS-221.4165.156Release-Notes
vor. 25.02.2022
vor. 11.03.2022
vor. 25.03.2022

Aufgrund der aktuellen Zeit Planung können wir davon ausgehen, dass die neue Version Anfang April erscheint.


Aktueller EAP Splash

Aktueller EAP Splash

In den meisten Fällen bekommt der PhpStorm Editor einen neuen EAP Splash gesponsort.


Verbesserter Markdown Support

Beide neuen Änderungen beziehen sich hauptsächlich auf die Code Snippets innerhalb einer MarkDown Datei. Code Snippets sind kleine Code Ausschnitte die meistens als Beispiele verwendet werden um in einer Dokumentation exemplarisch Code zu demonstrieren. Und genau in diese Kerbe schlagen die beiden neuen Änderungen.

Starten von Code Snippets

Wenn ein entsprechender Code Snippet direkt ausführbar ist, erscheint in der Quellcode-Ansicht ein entsprechendes „Run“ Icon neben dem Code-Snippet. Ein klick auf diesen Button führt den entsprechenden Code direkt im Terminal innerhalb von PHPStorm aus. Um diese Funktion zu (de-) aktivieren, kann diese unter `Settings -> Languages & Frameworks -> Markdown` (de-) aktiviert werden.

Kopieren von Code Snippets

Ähnlich verhält es sich mit den zweitem neuem Feature. In den meisten Fällen ist es sinnvoll das Code Snippet zu kopieren um es dann weiterzuverwenden. Um ein komplettes Code Snippet zu kopieren muss die Darstellung der Markdown Datei im Preview innerhalb der IDE angezeigt werden. Ein Snippet selbst wird farblich abgesetzt dargestellt und gibt das neue kopieren Icon preis, sobald man mit der Maus in den Snippet-Bereich ist. In der rechten oberen Ecke erscheint ein neues Kopieren Icon, welches per klick das komplette Snippet in die Zwischenablage kopiert.


Code Formatierung im „Light Edit“ Modus

Der Light Edit – Modus ist eher ein unbekannter Modus – wenn auch sehr interessanter Modus – welcher es erlaubt, eine einzelne Datei zu öffnen ohne dabei eine komplette IDE samt Projekt zu starten. Es handelt sich quasi um eine Möglichkeit PHPStorm genauso zu verwenden, wie Notepad oder Textpad. Nur eben mit den Vorteilen von PHPStorm.

Dieser „leichte“ Editor verfügt ab dieser Version auch über die Möglichkeit den Code zu formatieren, hierzu einfache den Menüpunkt „Code -> Reformat Code“ verwenden (oder die jeweilige Tastenkombination).


Neues Benachrichtigung Tool

Wir alle kennen das bisherige „Event Log“ – rechts unten konnte man sehen, ob es „Events“ gab, welche während der Verwendung der IDE besonderer Aufmerksamkeit bedürfen.

Dieses Events sind nun aus der unteren Taskleiste verschwunden und in die rechte Taskleiste gewandert in Form der neuen Notifications. (Per default in der rechten Taskleiste, änderbar ist die Position wie gewohnt)

Die Entwicklung an diesem neuem Notification Modal ist jedoch zum jetzigen Zeitpunkt noch nicht abgeschlossen. Bisher können die Einträge in 2 Kategorien eingeteilt werden. „Timeline“ (zeitlich basierte Mitteilungen) und „Suggestions“ (Vorschläge die ggf. eine Interaktion erfordert)

Weiterhin wird aber noch an diesem Feature gearbeitet, um auch weitere Kategorien dort anzuzeigen. (Warnungen, Reports, usw.) Eventuell können wir im laufe der EAP Phase noch mit Erweiterungen hier rechnen.


Neue erweiterte PHP Metadaten

Eine der größten Stärken von PHPStorm ist der Umgang mit dem PHP Code innerhalb des Projektes (Code-Completion, Type-Hinting, …). Um PHPStorm bei diesem Wissen zu helfen, wurde seit einiger Zeit die „Erweiteren PHP Metadaten“ (.phpstorm.meta.php) hinzugefügt. Diese Datei innerhalb eines PHP-Projektes unterstützt (neben Code-Analyse, PHP Stub Dateien, usw.) die IDE um Anwendern die bestmöglichsten Code Completions und Code-Vorschläge zu gebe.

Support to magic __call and __callStatic

Bis zum jetzigem Zeitpunkt waren die beiden Magic Methoden _call und _callStatic ein Problem bei der Analyse, so dass es schwierig war eine entsprechende Code Completion anzubieten.

Versuche wir uns doch einmal an einem Beispiel:

In dem oberen Beispiel kann PHPStorm den Rückgabewert der Magic-Method nicht analysieren, so dass es bei der Code Completion keinen Vorschlag gibt. Genau hier greift die neue Erweiterung ein. Denn sobald man eine entsprechende Meta-Datei anlegt, kann man genau beschreiben, was in solch einem Fall zurückgegeben werden kann.

<?php

namespace PHPSTORM_META {

    override(\App\Tests\MagicMethodTest::__call(0), map(
        [
            'self' => \App\Tests\MagicMethodTest::class,
            'response' => \Symfony\Component\BrowserKit\Response::class,
        ]
    ));

}

Wie man sieht, kann man damit PHPStorm nun in solchen Fällen auf die Sprünge helfen.

Support @|MyClass type

Wenn man die Metadaten erweiterte, gab es bisher leider nur einen Rückgabewert, aber ab sofort ist es möglich auch Union Types anzugeben. Insbesondere bei Mock Dateien hat man so den Vorteil, eine Code Completion für beide Klassen (Gemockte und Mocking) zu erhalten.