Einige Highlights dieses großen Updates:
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 Dokumentationskommentaren, Vorschläge für Namen, die Generierung von Commit-Nachrichten und einiges mehr.
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.
Im Alt+Enter-Kontextmenü finden Sie jetzt einen Unterpunkt AI Actions mit einer Reihe von Aufgaben, bei denen AI Assistant Sie unterstützen kann.
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.
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.
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.
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.
static
-Typ in GenericsEine 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.
@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.
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 Dokumentationskommentaren 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.
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.
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.
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.
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.
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.
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.
Wir haben ein alternatives helles Design Light with Light Header eingeführt. Dieses verwendet passende helle Farben für Fensterkopfzeilen, Tooltips und Benachrichtigungsblasen.
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.
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.
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.
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.
Sie haben jetzt die Möglichkeit, JavaScript-Code für Anfrage-Handler im HTTP-Client über importierte Module wiederzuverwenden.
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.
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.
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.
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.
JavaScript- und TypeScript-Fehler und -Warnungen werden jetzt verständlicher formatiert, damit Sie Probleme in Ihrem Code einfacher erkennen können.
We’ve implemented syntax support and an inspection that alerts you if a CSS nested selector starts with an identifier or functional notation.
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.