Einige Highlights dieser Version:
xdebug_notify()
PhpStorm 2024.3 enthält neue Inspektionen und Quick-Fixes, die einen reibungslosen Wechsel zu PHP 8.4 und dessen zahlreichen neuen Features ermöglichen. Im Folgenden geben wir Ihnen einen kurzen Überblick darüber, wie die neuen Sprachmerkmale von PHP 8.4 in Ihrem PhpStorm-Workflow unterstützt werden.
Property-Hooks sind eine der größten Änderungen in der modernen PHP-Geschichte. Sie wurden entwickelt, um Ihnen Standardcode für Getter und Setter zu ersparen, indem Sie stattdessen get
- und set
-Hooks für Eigenschaften implementieren.
Für Property-Hooks (einschließlich Hooks in Promoted Properties) stellt PhpStorm folgende Unterstützung bereit:
get
- und set
-Property-Hooks. get
und set
inkl. Einfügen von Property-Hook-Code. get
- und set
-Hooks für eine Eigenschaft über eine Generate-Aktion, analog zu Generate | Getters and Setters. Durch asymmetrische Sichtbarkeit können bei typisierten Eigenschaften separate Sichtbarkeitseinstellungen für Lese- und Schreiboperationen definiert werden.
PhpStorm 2024.3 enthält Checks und Quick-Fixes für die korrekte Implementierung von asymmetrischen Sichtbarkeiten in Ihrem Code für folgende Fälle:
set
-Sichtbarkeit einer Eigenschaft weiter zu fassen als die Hauptsichtbarkeit (get
). final
-Modifikatoren für private (set)
Eigenschaften. set
-Sichtbarkeitsbereichs zu ändern. Sie können mit PhpStorm 2024.3 foreach
-Schleifen durch die in PHP 8.4 eingeführten Funktionen array_find()
, array_find_key()
, array_any()
und array_all()
ersetzen.
new
ohne Klammern PhpStorm 2024.3 unterstützt das Weglassen von Klammern um new
-Ausdrücke in Konstrukten vom Typ (new MeineKlasse())->methode()
.
Bitte beachten Sie, dass die Funktionen von AI Assistant nur mit einem AI-Pro-Abonnement oder im Rahmen einer Testphase verfügbar sind.
Wir haben die Qualität unserer KI-basierten PHP-Completion deutlich verbessert und die Latenzzeit verringert. Ermöglicht wird dies durch Mellum, das neue, proprietäre große Sprachmodell (LLM) von JetBrains, das für eine schnellere, intelligentere und kontextrelevantere cloudbasierte Code-Completion optimiert ist.
Weitere Informationen zum neuen LLM von JetBrains finden Sie in diesem Blogartikel .
Inline-Completion-Vorschläge sind jetzt mit Syntaxhervorhebung versehen, was ihre Lesbarkeit verbessert.
Mehrzeilige Codevorschläge können jetzt in einem Zug (Tab), wortweise (Strg+→) oder zeilenweise (End) übernommen werden.
Dank der neuen Inline-Prompt-Funktion können Sie jetzt direkt im Editor Anfragen an AI Assistant in natürlicher Sprache eingeben. Dieser interpretiert die Anfrage sofort und generiert einen Codevorschlag, ohne dass Sie zusätzliche Schritte unternehmen müssen.
PhpStorm kennzeichnet die von AI Assistant geänderten Zeilen mit einer violetten Markierung in der Randleiste, damit Sie die Änderungen einfacher erkennen können. Wenn Ihnen ein Vorschlag nicht zusagt, können Sie den Prompt anpassen, indem Sie auf den violetten Block in der Randleiste klicken oder Strg+/ drücken.
Mit diesem Update haben wir die Verwaltung des Kontexts, den AI Assistant bei seinen Vorschlägen berücksichtigt, transparenter und intuitiver gestaltet. Eine überarbeitete Oberfläche, in der Sie jedes Kontextelement einsehen und verwalten können, bietet volle Transparenz und Kontrolle. Die geöffnete Datei und der darin enthaltene ausgewählte Code werden nun automatisch zum Kontext hinzugefügt. Sie können unkompliziert Dateien hinzufügen oder entfernen, um den Kontext an Ihren Workflow anzupassen. Darüber hinaus können Sie für das gesamte Projekt gültige Anweisungen beifügen, um die Antworten von AI Assistant an Ihren Codebestand anzupassen.
Mit AI Assistant können Sie jetzt direkt in der IDE passende Titel und Beschreibungen für Ihre Pull- und Merge-Requests generieren. Dies vereinfacht Ihren Arbeitsablauf und sorgt dafür, dass Ihre Beschreibungen klar und prägnant sind.
Im Fehlermeldungsbereich stehen Ihnen jetzt bei der Ausführung von SQL-Abfragen einige nützliche Aktionen zur Fehlerbehandlung mit AI Assistant zur Verfügung. Explain with AI öffnet den KI-Chat und fordert mit einem automatisch versendeten Prompt eine Fehlererklärung von AI Assistant an. Fix with AI korrigiert den Abfragefehler direkt im Editor.
Lesen Sie hier über alle neuesten Updates des JetBrains AI Assistant.
xdebug_notify()
Um das PHP-Debugging noch einfacher zu gestalten, bietet PhpStorm jetzt einen strukturierten Weg zur Verarbeitung des Outputs der Funktion xdebug_notify()
.
Mit den in Xdebug 3.1 eingeführten xdebug_notify()
-Aufrufen können Sie gezielt Variablen an die Debugkonsole von PhpStorm ausgeben.
Wenn Sie als Laravel-Entwickler*in Laravel Herd verwenden, erkennt PhpStorm 2024.3 jetzt automatisch den Pfad zur aktuell verwendeten PHP-Programmdatei von Laravel Herd auf Ihrem System. Um diesen Interpreter in PhpStorm zu verwenden, gehen Sie zu den CLI-Interpreter-Einstellungen (PHP | CLI interpreter | …) und wählen Sie im sich öffnenden Dialog CLI Interpreters die PHP-Programmdatei aus der Liste der vorkonfigurierten Optionen aus.
Bei der Laravel-Entwicklung in PhpStorm 2024.3 ist das Testframework Pest erheblich besser zu nutzen. Wir haben eine vollständige Pest-3.0-Unterstützung implementiert, und parallele sowie Mutationstests mit Pest können direkt in der IDE gestartet werden.
Mit dem kürzlich veröffentlichten Pest 3.0 wurden Mutationstests eingeführt. Dabei werden kleine Änderungen am Code vorgenommen, um festzustellen, ob dies beim Testen auffällt.
In PhpStorm 2024.3 können Sie die Pest-Option Run Tests (Pest) with Mutation wie jede andere Testoption auslösen – direkt im Editor, im Project-Toolfenster oder über eine Run/Debug-Konfiguration. Im speziellen Toolfenster Pest Mutation lassen sich die Testergebnisse überprüfen.
Sie müssen nur dafür sorgen, dass für den PHP-Interpreter, den Sie in der IDE verwenden, Xdebug 3.0+ installiert ist.
Weitere Details finden Sie in der PhpStorm-Dokumentation.
In PhpStorm 2024.3 müssen Sie nicht mehr zum Terminal wechseln, um Pest-Tests im Parallelmodus auszuführen. Navigieren Sie einfach zur Testdatei und wählen Sie über das Randleistensymbol im Editorfenster, im Project-Toolfenster oder über eine Run/Debug-Konfiguration die Option Run Tests (Pest) in Parallel aus.
PhpStorm kann jetzt Merge-Konflikte in Importanweisungen automatisch lösen. Um diese Funktion zu aktivieren, wählen Sie im Merge-Dialog unter dem Zahnradsymbol die Option Resolve conflicts in import statements, oder gehen Sie zu Settings | Tools | Diff & Merge und wählen Sie Automatically resolve conflicts in import statements.
Die Funktion Find in Files wurde um einen neuen Suchbereich erweitert: Project Files Excluding Git-Ignored. Mit dieser Option werden alle per .gitignore
ignorierten Dateien von den Suchergebnissen ausgeschlossen. So können Sie sich beim Durchsuchen Ihres Projekts auf den relevanten Code konzentrieren.
Sie können jetzt Hintergrundprüfungen während des Commit-Prozesses mit einer neuen Option Run advanced checks after a commit is done unter Settings | Version Control | Commit verwalten. Mit dieser Einstellung können Sie festlegen, ob Tests und Inspektionen nach einem Commit ausgeführt werden sollen. Wenn Sie möchten, dass diese Prüfungen vor dem Commit abgeschlossen werden, deaktivieren Sie die Option einfach.
Der Begrüßungsbildschirm zeigt jetzt den Branchnamen an, damit Sie beim Umgang mit mehreren Projektversionen den Überblick behalten und unkompliziert zwischen Arbeitsverzeichnissen wechseln können.
PhpStorm unterstützt jetzt die fragmentarische Introspektion. Zuvor konnte der Introspector nur eine vollständige Introspektion der Schemas in den MySQL- oder MariaDB-Datenbanken durchführen; die Metadaten eines Objekts konnten nicht einzeln aktualisiert werden. Jedes Mal, wenn eine DDL-Anweisung in der Konsole ausgeführt wurde, bei der die Möglichkeit bestand, dass sie ein Objekt im Datenbankschema verändern könnte, führte die IDE eine vollständige Introspektion des gesamten Schemas durch. Das war zeitaufwändig und störte oft den Arbeitsablauf.
Jetzt analysiert PhpStorm, welche Objekte von einer DDL-Anweisung betroffen sein könnten, und aktualisiert nur diese Objekte. Wenn Sie ein einzelnes Objekt im Database Explorer auswählen und die Aktion Refresh aufrufen, wird nur dieses eine Objekt aktualisiert, anstatt wie bisher das gesamte Schema.
JOIN
-Klauseln In bestimmten Fällen ist die Ausführung von Abfragen, die eine große Anzahl an JOIN
-Klauseln enthalten, aufgrund von Leistungseinbußen nicht empfehlenswert. Der Editor kann nun solche Abfragen erkennen und markieren. Sie können diese Inspektion in den IDE-Einstellungen aktivieren. Navigieren Sie zu Editor | Inspections, erweitern Sie den Abschnitt SQL und wählen Sie Excessive JOIN count.
Um die Paginierung in unserem Dateneditor sichtbarer zu machen, wird das entsprechende Steuerelement statt in der Symbolleiste nun unten in der Mitte des Dateneditors angezeigt.
PhpStorm schließt jetzt standardmäßig node_modules
-Ergebnisse aus, wenn Sie Find in Files in Projektverzeichnissen verwenden, sodass die Menge an irrelevanten Dateien reduziert wird. Sie können das bisherige Verhalten wiederherstellen, indem Sie die Option Search in library files when “Directory” is selected in Find in Files unter Settings | Advanced Settings aktivieren.
Wir haben die im Editor angezeigten Hinweise für Vue-, Svelte- und Astro-Komponenten verbessert. Die Aktion Show component usages findet jetzt Verwendungen sowohl in Importen als auch in Markup-Templates. Wir haben auch einen Filter Show Component Usages hinzugefügt, um Komponentenverwendungen bei der Suche nach regulären Dateireferenzen auszuschließen. Das Rename-Refactoring bietet wiederum eine neue Option zum Einbeziehen von Verwendungen beim Umbenennen einer Komponentendatei.
Die Farbvorschau für Tailwind-CSS-Klassen wird jetzt inline im Editor angezeigt, sodass Sie Farben leichter unterscheiden können. Wir unterstützen jetzt die Methode textDocument/documentColor
aus dem Language Server Protocol (LSP), sodass alle LSP-basierten Plugins standardmäßig über diese Funktionalität verfügen.
In Projekten mit Angular 19 verwendet PhpStorm jetzt den Standalone-Modus für Komponenten, Direktiven und Pipes. Es wurden Quick-Fixes hinzugefügt, um die Konvertierung zwischen Standalone- und Nicht-Standalone-Komponenten zu erleichtern. Bei der Neuformatierung des Codes oder mithilfe einer neuen Inspektion können ungenutzte Standalone-Importe automatisch entfernt werden. Die Unterstützung für die @let
-Syntax wurde ebenfalls verbessert.
In der Standardeinstellung hebt PhpStorm jetzt automatisch alle Vorkommen des ausgewählten Texts in der jeweiligen Datei hervor. So können Sie leichter erkennen, wo der ausgewählte Text in Ihrem Code erscheint. Wenn Sie das bisherige Verhalten bevorzugen, können Sie diese Funktion unter Settings | Editor |General | Appearance abschalten.