Das ist neu in PhpStorm 2023.2

Einige Highlights dieses großen Updates:

  • Verbesserungen für Generics in PHP
  • Unterstützung für Laravel Pint
  • Native Unterstützung für PHP-Assertions
  • AI Assistant (Beschränkter Zugang)
  • GitLab-Integration
  • Textsuche in Search Everywhere

AI Assistant Beschränkter Zugang

Eine wichtige Neuerung in dieser Version ist der AI Assistant, der Ihren Programmierworkflow um KI-Fähigkeiten erweitert. Der anfängliche Funktionsumfang des AI Assistant umfasst einen integrierten KI-Chat, das Schreiben von Dokumentations­kommentaren, Vorschläge für Namen, die Generierung von Commit-Nachrichten und einiges mehr.

KI-Chat

KI-Chat

Im Toolfenster AI Assistant können Sie mit dem LLM (Large Language Model, d. h. großes Sprachmodell) kommunizieren, etwa um Fragen zu stellen oder Hilfe bei einem Codeabschnitt anzufordern. PhpStorm stellt automatisch projektspezifischen Kontext bereit, z. B. die PHP-Sprachversion und das in Ihrem Projekt verwendete Framework. Wenn Sie mit dem KI-generierten Code zufrieden sind, klicken Sie auf Insert Snippet at Caret oder kopieren Sie den Code einfach manuell, um ihn in den Editor einzufügen.

AI Actions

AI Actions

Im Alt+Enter-Kontextmenü finden Sie jetzt einen Unterpunkt AI Actions mit einer Reihe von Aufgaben, bei denen AI Assistant Sie unterstützen kann.

Code-Dokumentation

Code-Dokumentation

AI Assistant kann auch Dokumentationstexte für Sie generieren. Drücken Sie Alt+Enter, wählen Sie das Menü AI Actions aus und klicken Sie auf Write Documentation. Sie können AI Assistant im Chat auch um eine Erklärung Ihres Codes bitten.

Generierung von Commit-Nachrichten

Generierung von Commit-Nachrichten

Der Dialog für Commit-Nachrichten verfügt jetzt über eine neue Schaltfläche Generate Commit Message with AI Assistant (Commit-Nachricht mit AI Assistant generieren). Klicken Sie darauf, um die Diffs Ihrer Änderungen an das LLM zu übermitteln, damit dieser eine Commit-Nachricht mit einer Beschreibung Ihrer Änderungen erzeugen kann.

Anleitung zur Nutzung

Anleitung zur Nutzung

AI Assistant wird vom JetBrains AI Service bereitgestellt. Um auf die KI-Funktionen zugreifen zu können, müssen Sie das AI Assistant-Plugin manuell installieren und sich mit Ihrem JetBrains-Account beim JetBrains AI Service anmelden. Am einfachsten geht dies, wenn Sie in der Symbolleiste auf das Symbol Weitere Toolfenster klicken, AI Assistant auswählen und den Hinweisen folgen.

Bitte beachten Sie auch, dass Sie sich für den Zugang zum AI Assistant derzeit möglicherweise in eine Warteliste eintragen müssen. Weitere Informationen über die Funktionsweise von AI Assistant sowie über unseren Umgang mit Ihrem Code und Ihren Daten finden Sie in diesem Blogartikel.

Probieren Sie diese neuen Funktionen aus und senden Sie uns gerne Ihre Ideen und Vorschläge. Klicken Sie dazu einfach auf Share your feedback im AI Assistant-Toolfenster. Sie können Fehler in Verbindung mit AI Assistant gerne auch in YouTrack melden.

PHP

Generics in PHP

Neues Refactoring „Rename generic“

Neues Refactoring Rename generic

Drücken Sie Umschalt+F6, während die Einfügemarke sich auf einem generischen Typ befindet, um die Umbenennung zu starten. PhpStorm ändert den Namen automatisch in Ihrem gesamten Codebestand.

Eine weitere Möglichkeit besteht darin, Strg+T zu drücken und dann Rename auszuwählen.

Unterstützung für static-Typ in Generics

Unterstützung für static-Typ in Generics

Eine der meistgewünschten Funktionen in diesem Bereich war die Unterstützung von statischen Referenzen in generischen Vorlagen.

Dies wurde in der neuen Version endlich implementiert, wir werden aber weiterhin daran arbeiten, die Unterstützung von PHP-Generics auszubauen.

Unterstützung für @mixin mit Vorlagen

Unterstützung für @mixin mit Vorlagen

Mit generischen @mixin-Annotationen können Sie die Vorteile von decorator- und anderen Codemustern nutzen, um Objekte um ein bestimmtes Verhalten zu erweitern. PhpStorm stellt dafür jetzt Code-Completion bereit, wo dies möglich ist.

Keine redundante PHPDocs-Generierung mehr

Keine redundante PHPDocs-Generierung mehr

PhpStorm lässt jetzt in noch mehr Aktionen redundante Deklarationen aus automatisch generierten PHPDoc-Blöcken weg und weist auf bestimmte redundante PHPDoc-Tags in Dokumentations­kommentaren hin.

Bei der Getter- und Setter-Generierung erstellt PhpStorm jetzt nur noch dann PHPDoc-Kommentare, wenn keine deklarierten Typen vorhanden sind.

Die Generierung von Getter- und Setter-Methoden können Sie mit der Kontextaktion Add getter/setter (Alt+Enter) oder der Aktion Generate Code (Alt+Einfg) aufrufen.

Integrierte Unterstützung für Laravel Pint

Integrierte Unterstützung für Laravel Pint

PhpStorm has added Laravel Pint to the list of supported quality tools. Von Laravel Pint gemeldete Codestil-Probleme können jetzt wie die PhpStorm-eigenen Codeinspektionen gehandhabt werden.

Um die Integration mit Laravel Pint zu konfigurieren, gehen Sie zu Settings | PHP | Quality Tools und erweitern Sie den Abschnitt Laravel Pint.

Hier können Sie Laravel Pint auch als Ihren bevorzugten externen Formatierer festlegen. Dadurch können Sie mit der Aktion Reformat Code (Strg+Alt+L) alle von Laravel Pint erkannten Probleme in einem Zug beheben.

Um Laravel Pint als PhpStorm-Inspektion zu aktivieren, gehen Sie zu Settings | Editor | Inspections und aktivieren Sie das Kontrollkästchen Laravel Pint validation unter PHP | Quality Tools.

Wenn die Inspektion aktiviert ist, werden die von Laravel Pint erkannten Probleme in geöffneten PHP-Dateien hervorgehoben bzw. im Problems-Toolfenster gemeldet.

Inspektionen für PHP-Assertions

Inspektionen für PHP-Assertions

Mit diesem Release haben wir unsere Codeanalyse-Logik auf PHP-Assertions ausgeweitet.

PhpStorm erkennt und meldet jetzt Assertions, die immer wahr oder falsch und daher redundant sind. This is available for PHP’s built-in assert() constructs, PHPUnit’s assertion methods, and methods from the webmozart/assert and beberlei/assert libraries.

Benutzererfahrung

Farbige Projektkopfleisten in der neuen Bedienoberfläche

Farbige Projektkopfleisten in der neuen Bedienoberfläche

Sie können jetzt jedem Projekt eine Farbe und ein Symbol zuweisen, um sie bei der Arbeit leichter unterscheiden zu können.

Die Kopfleistenfarben, die den Projekten automatisch zugewiesen werden, können Sie jetzt nach Belieben anpassen: Klicken Sie mit der rechten Maustaste auf eine Kopfleiste, klicken Sie auf Change Toolbar Color und wählen Sie dann die gewünschte Farbe aus.

Textsuche in Search Everywhere

Textsuche in Search Everywhere

Search Everywhere (2x Umschalttaste) ermöglicht die Suche nach Dateien, Klassen, Methoden, Aktionen und Einstellungen.

Jetzt bietet der Dialog auch eine Textsuchfunktion, ähnlich wie sie in Find in Files bereits verfügbar ist. Textsuchergebnisse werden angezeigt, wenn für eine bestimmte Suchanfrage nur wenige oder keine anderen Treffer vorhanden sind.

Verbesserte Anpassungsmöglichkeiten für die Hauptsymbolleiste

Verbesserte Anpassungsmöglichkeiten für die Hauptsymbolleiste

In der neuen Bedienoberfläche können Sie jetzt über ein Dropdown-Menü unkompliziert Aktionen zur Symbolleiste hinzufügen.

Klicken Sie mit der rechten Maustaste auf ein Widget, wählen Sie Add to Main Toolbar und erkunden Sie die verfügbaren Optionen.

Überarbeitetes Hamburger-Menü in der Hauptsymbolleiste unter Windows und Linux

Überarbeitetes Hamburger-Menü in der Hauptsymbolleiste unter Windows und Linux

Wir haben unter Windows und Linux das Verhalten des Hamburger-Menüs in der Symbolleiste der neuen Bedienoberfläche verbessert. Wenn Sie das Menüsymbol anklicken, werden die Elemente nun horizontal über der Symbolleiste angezeigt.

Außerdem gibt es jetzt eine Option, um dieses Menü in eine separate Symbolleiste umzuwandeln. Sie finden sie unter View | Appearance | Main menu as a Separate Toolbar.

Helles Design mit hellen Kopfleisten in neuer UI

Helles Design mit hellen Kopfleisten in neuer UI

Wir haben ein alternatives helles Design Light with Light Header eingeführt. Dieses verwendet passende helle Farben für Fensterkopfzeilen, Tooltips und Benachrichtigungsblasen.

Run-Konfigurationen anheften

Run-Konfigurationen anheften

Um eine Run-Konfiguration im Pinned-Bereich anzuheften, öffnen Sie das Dreipunktmenü neben dem Namen der Konfiguration und wählen Sie Pin. Sie können angeheftete Konfigurationen durch einfaches Ziehen mit der Maus neu anordnen.

Dateisortierung nach Änderungszeit in der Projektansicht

Dateisortierung nach Änderungszeit in der Project-Ansicht

Sie können jetzt Ihre Dateien in der Project-Ansicht nach der Änderungszeit anordnen. Um diese Funktion zu aktivieren, öffnen Sie das Dreipunktmenü in der Project-Ansicht und aktivieren Sie Tree Appearance | Sort by Modification Time.

Verbesserungen im HTTP-Client

Redoc-UI-Vorschau für OpenAPI- und Swagger-Dateien

Redoc-UI-Vorschau für OpenAPI- und Swagger-Dateien

Sie können jetzt zwischen der Redoc- und der Swagger-UI wechseln, um eine Vorschau Ihrer OpenAPI-Dokumentation anzuzeigen.

Dank Redoc-Integration können Sie von PhpStorm aus auf die Try it-Konsole zugreifen, um Parameter festzulegen und Anfragen an Ihre API zu senden.

GraphQL- und WebSocket-Unterstützung auf der HTTP-Client-Befehlszeile

GraphQL- und WebSocket-Unterstützung auf der HTTP-Client-Befehlszeile

Sie können mit einem speziellen HTTP-Client-Befehlszeilentool .http-Dateien als Anfragen ausführen.

Ab dieser Version kann das Tool mit GraphQL-APIs interagieren und WebSocket-Verbindungen zu Diensten herstellen.

Unterstützung für JavaScript-Importe im HTTP-Client

Unterstützung für JavaScript-Importe im HTTP-Client

Sie haben jetzt die Möglichkeit, JavaScript-Code für Anfrage-Handler im HTTP-Client über importierte Module wiederzuverwenden.

Versionsverwaltung / Git / GitLab

Unterstützung für Merge-Requests in GitLab

Unterstützung für Merge-Requests in GitLab

PhpStorm 2023.2 führt eine erste Integration mit GitLab ein, die es Ihnen ermöglicht, direkt in der IDE mit Merge-Requests zu arbeiten.

Zeilenweise Codeauswahl für Ihre Commits

Zeilenweise Codeauswahl für Ihre Commits

PhpStorm ermöglicht jetzt noch fein abgestufte Commits: Sie haben die Möglichkeit, nur bestimmte Zeilen aus einem Codeabschnitt für einen selektiven Commit auszuwählen.

Öffnen Sie den Dateivergleich, wählen Sie die gewünschten Zeilen innerhalb eines Bearbeitungsabschnitts aus und wählen Sie im Kontextmenü Include these lines into commit aus. Für jede Zeile werden Kontrollkästchen angezeigt, die Sie aktivieren oder deaktivieren können.

LSP-Unterstützung für die Plugin-Entwicklung

Einige Sprachen und Technologien werden möglicherweise (noch) nicht nativ von PhpStorm unterstützt – aber auch für diese gibt es eventuell einen Sprachserver, der eine Unterstützung ermöglicht. Deshalb geben wir Plugin-Entwickler*innen jetzt die Möglichkeit, mithilfe der LSP-API einen bestimmten LSP-Server zu integrieren.

Wenn Sie eine eigene Programmiersprache oder ein Framework entwickelt haben, können Sie dafür sorgen, dass diese von der IDE unterstützt werden, indem Sie einen LSP-Server und ein Plugin schreiben.

Die LSP-Unterstützung umfasst derzeit die Hervorhebung von Fehlern und Warnungen, Quick-Fixes, Code-Completion sowie Navigation zu Deklarationen.

JetBrains Qodana integriert

PhpStorm 2023.2 integriert die Codequalitätsplattform Qodana – unsere intelligente statische Analyseengine, die für alle CI/CD-Pipelines geeignet ist.

Sie können eine Analyse mit wenigen Klicks ausführen, die Liste der Probleme in Ihrem gesamten Projekt einsehen und Qodana dann in Ihrem CI/CD-System konfigurieren, um Quality Gates einzurichten und serverseitige Inspektionen durchzuführen.

Sobald Qodana in Ihrem CI/CD-System konfiguriert ist, können Sie außerdem die Ergebnisse der serverseitigen Analyse direkt in Ihrer IDE sehen, ohne eine weitere Einrichtung vornehmen zu müssen.

Webentwicklung

Verbesserte Fehlerformatierung für JavaScript und TypeScript

Verbesserte Fehlerformatierung für JavaScript und TypeScript

JavaScript- und TypeScript-Fehler und -Warnungen werden jetzt verständlicher formatiert, damit Sie Probleme in Ihrem Code einfacher erkennen können.

Unterstützung für CSS-Schachtelung

Unterstützung für CSS-Schachtelung

We’ve implemented syntax support and an inspection that alerts you if a CSS nested selector starts with an identifier or functional notation.

Vue-Sprachserver-Unterstützung

Vue-Sprachserver-Unterstützung

Der Vue Language Server (VLS, auch unter dem Namen Volar bekannt) wird nun unterstützt, um eine zielgenauere Fehlererkennung und verbesserte Typinformationen in den Schnellnavigations- und Kurzdokumentations-Popups bereitzustellen. Standardmäßig wird VLS für TypeScript v5.0 und höher verwendet. Unter Settings | Languages & Frameworks | TypeScript | Vue können Sie den Vue-Service so einstellen, dass die VLS-Integration für alle TypeScript-Versionen verwendet wird.