Das ist neu in PhpStorm 2024.1

Einige Highlights dieser Version:

  • Code-Completion für vollständige Zeilen mit lokaler AI
  • Unterstützung für AssetMapper von Symfony
  • Neues Terminal
  • Verbesserungen für Pest
  • Unterstützung von PHPUnit 11.0

Code-Completion für vollständige Zeilen mit lokaler AI

Sie können jetzt die automatische Vervollständigung ganzer Codezeilen für PHP sowie JavaScript, TypeScript und HTML nutzen, auch wenn Sie keinen Zugang zum Internet haben. Bei der Code-Completion für ganze Zeilen verarbeitet und analysiert der lokale LLM die Daten direkt auf Ihrem Gerät, was zu einer ultraschnellen Offline-Code-Completion mit minimaler Latenz führt.

Mit diesem Ansatz wird Ihr generierter Code nicht nur niemals nicht existierende Variablen oder Methoden enthalten, er bleibt auch konform mit Ihren Datenschutzrichtlinien, da er keine Verbindung zu externen Servern erfordert. Diese Funktion ist in Ihrem kostenpflichtigen PhpStorm-Abonnement enthalten. Damit ist keine zusätzliche Lizenz erforderlich.

Code-Completion mit lokaler AI

Unterstützung für AssetMapper von Symfony

Unterstützung für AssetMapper von Symfony

Sie können jetzt fehlende Module und Pakete über importmap.php schnell installieren und die vollständige Auto-Completion für deren Klassen und Methoden nutzen.

Neues Terminal Beta

Das neue Terminal ist jetzt zum Testen verfügbar. Sie können zwischen dem alten und dem neuen Terminal unter Settings | Tools | Terminal | Enable New Terminal umschalten.

Derzeit werden nur Bash, Zsh und PowerShell unterstützt, andere Shells sind noch in der Entwicklung.

Angeheftete Zeilen im Editor

Diese Funktion sorgt dafür, dass wichtige Strukturelemente, wie z. B. die Anfänge von Klassen oder Methoden, beim Scrollen am oberen Rand des Editors angeheftet werden. Auf diese Weise bleiben die Bereiche immer im Blick, und Sie können sofort durch den Code navigieren, indem Sie auf eine angeheftete Zeile klicken.

Verbesserungen für Pest

Wir haben die Navigation zwischen Tests und Methoden im Menü Go to sowie durch doppelte Tests und benutzerdefinierte Erwartungen bei der Verwendung von Quick-Fixes verbessert. Außerdem haben wir die Navigationsprobleme behoben, die beim Öffnen des Test-Quellcodes aus dem Toolfenster Run auftraten.

Neu ist auch die Möglichkeit, Pest-Tests für PHP-Klassen und -Methoden zu generieren und neue Pest-Tests über das Menü Intention actions zu erstellen.

Wir haben auch eine neue Inspektion hinzugefügt, um den Aufruf einiger Pest-assert-Methoden zu vereinfachen.

Unterstützung von PHPUnit 11.0

PhpStorm unterstützt jetzt die Ausführung von Tests mit PHPUnit 11. Wenn die IDE veraltete Attribute in der Konfigurationsdatei erkennt, zeigt sie jetzt entsprechende Benachrichtigungen an und bietet einen Quick-Fix, der die Konfigurationsdatei automatisch auf die neue Version migriert.

Außerdem wurden eine neue Inspektion und ein Quick-Fix für veraltete TestCase-Methoden bei der Erstellung von Return-Stub-Konfigurationsobjekten hinzugefügt.

Darüber hinaus haben wir die Inspektion Deprecated usage of data providers so geändert, dass sie nun eine Warnung ausgibt, wenn PHPUnit 11 verwendet wird. Wir haben auch die Option --cache-result-file beim Start von Tests entfernt.

Verbesserungen an dd, var_dump und symfony/var-dumper

Sie können nun Klassen- und Dateilinks direkt im Editor öffnen und Strukturen in der Konsolenausgabe ein- und ausklappen.

Überprüfungen auf gefährdete PHP-Pakete in composer.json

PhpStorm prüft jetzt die PHP-Pakete Ihres Projekts mit der Checkmarx-Datenbank und markiert gefährdete Pakete mit einer Überprüfung in der composer.json-Datei.

Rsync: Unterstützung in WSL

Sie können nun den WSL-Distributionspfad für das rsync-Tool verwenden, das während der Bereitstellung eingesetzt wird.

Frontend-Updates

Vue-, Svelte- und Astro-Dateien

Komponentenverwendungen für Vue, Svelte und Astro

PhpStorm bietet jetzt im Editor Hinweise auf die Komponentenverwendung in Vue-, Svelte- und Astro-Dateien. So finden Sie mühelos alle Verwendungen einer bestimmten Komponente überall im Projekt.

Language Services-Widget

In der Statusleiste finden Sie das neue Widget Language Services. Dieses bietet Ihnen einen Überblick über die aktiven Sprachdienste für die aktuelle Datei und das gesamte Projekt. Sie können direkt in diesem Widget Dienste neu starten oder zu deren Einstellungen navigieren.

Weitere Verbesserungen

Option zum Herauszoomen der gesamten IDE

Sie können die IDE jetzt auf 90%, 80% oder 70% herunterskalieren, was Ihnen die Flexibilität gibt, die Größe der IDE-Elemente sowohl nach oben als auch nach unten anzupassen.

Bessere Unterstützung für den Typ class-string

PhpStorm bietet nun eine statische Methoden-Completion für Entitäten vom Typ class-string.

Code-Reviews im Editor

PhpStorm 2024.1 führt mit der Implementierung eines neuen Überprüfungsmodus ein verbessertes Code-Review-Erlebnis sowohl für GitHub- als auch für GitLab-Benutzer*innen ein. Diese Funktion ist in den Editor integriert und erleichtert die direkte Interaktion zwischen Autor*innen und Reviewer*innen. Beim Überprüfen des Pull-/Merge-Request-Branches wird der Überprüfungsmodus automatisch aktiviert und rosa Markierungen erscheinen in der Randleiste, die darauf hinweisen, dass Codeänderungen zur Überprüfung verfügbar sind. Wenn Sie auf diese Markierungen klicken, wird ein Popup-Fenster mit dem Originalcode angezeigt, sodass Sie schnell erkennen können, was geändert wurde. Mit den Randleistensymbolen können Sie schnell neue Diskussionen einleiten sowie bestehende Diskussionen anzeigen und ausblenden. Sie ermöglichen auch einen einfachen Zugriff auf Kommentare, damit Sie diese leicht überprüfen, beantworten und darauf reagieren können.

Lokale Filterung im Dateneditor

Mit dieser Version wird die lang erwartete lokale Filterfunktion im Dateneditor eingeführt. Sie können jetzt schnell Zeilen nach Spaltenwerten filtern, ohne Abfragen an die Datenbank zu senden. Dieser lokale Filter wirkt sich nur auf die aktuelle Seite aus. Sie können jedoch die Seitengröße anpassen oder alle Daten abrufen, wenn Sie den Bereich erweitern möchten. Um alle lokalen Filter zurückzusetzen, deaktivieren Sie die Option Enable Local Filter.