Das ist neu in PhpStorm 2021.1

PhpStorm 2021.1 ist ein großes Update mit einer Reihe von Neuerungen: Vorschau von PHP- und HTML-Dateien im Editor, mehr als 20 neue Inspektionen zur Vermeidung von Fehlern, Verbesserungen in allen Systembereichen und Paarprogrammierung mit Code With Me.

PHP

Einstellen der PHP-Version in der Statusleiste

Einstellen der PHP-Version in der Statusleiste

Sie können eine beliebige PHP-Version für Ihr Projekt einstellen, ohne composer.json zu ändern. Dies kann beispielsweise hilfreich sein, um zu überprüfen, wie kompatibel die Codebasis mit einer neueren PHP-Version ist, bevor Sie den Wechsel tatsächlich vollziehen.

PHP-Einstellungen leichter finden

PHP-Einstellungen leichter finden

Damit Sie PHP-bezogene Einstellungen leichter finden können, haben wir den entsprechenden Abschnitt auf die oberste Einstellungsebene verschoben: Settings / Preferences | PHP.

Vorschau von PHP- und HTML-Dateien im Editor

In der oberen rechten Ecke des Editors finden Sie ein neues Symbol, das eine Vorschau von Dateien in einem Tab innerhalb von PhpStorm ermöglicht. Dies funktioniert mit HTML- und PHP-Dateien.

Öffnen Sie eine PHP-Datei, geben Sie Ihren Code ein und das Ergebnis wird sofort daneben angezeigt. Sie müssen nicht erst zu einem anderen Fenster wechseln! Alle Änderungen an verknüpften CSS- und JavaScript-Dateien sind ebenfalls in der Vorschau zu sehen.

Vorschau von PHP- und HTML-Dateien im Editor

PhpStorm verwendet einen lokalen PHP-Interpreter, der in den Projekteinstellungen unter Settings/Preferences | PHP angegeben wird. Docker und sonstige Remote-Interpreter werden nicht unterstützt.

Um das Vorschausymbol zu aktivieren, müssen Sie mindestens einen Browser unter Preferences | Tools | Web Browsers auswählen und das Kontrollkästchen For HTML files aktivieren.

Sie können den Vorschau-Tab auch mit dem Tastenkürzel Alt+F2 öffnen.

Tabellenpräfixe in SQL-Abfragen

Viele Content-Management-Systeme und Frameworks erlauben die Wahl eines Tabellenpräfixes. Dies ist hilfreich, wenn dieselbe Datenbank für mehrere Anwendungen eingesetzt wird.

Tabellenpräfixe in SQL-Abfragen

In früheren Versionen ging in solchen Fällen die Datenbankintegration von PhpStorm verloren, da die SQL-Abfragen Präfixmarker enthielten.

Jetzt können Präfixe in der Datei .phpstorm.meta.php hinterlegt werden. In unserem Hilfeartikel erfahren Sie mehr über Metadateien und das Angeben von SQL-Präfixen.

Inspektionen und Quick-Fixes

Vereinfachung von booleschen Ausdrücken

Vereinfachung von booleschen Ausdrücken

Wenn ein boolescher Ausdruck die Literale true oder false enthält, hilft Ihnen PhpStorm, ihn zu vereinfachen. Mit einem Quick-Fix über Alt+Enter können Sie Redundanzen beseitigen und die Lesbarkeit verbessern.

Strenger Vergleich von Operanden mit inkompatiblen Typen

Strenger Vergleich von Operanden mit inkompatiblen Typen

Der Operator === für strengen Gleichheitsvergleich gibt immer false zurück, wenn die beiden Operanden nicht denselben Typ haben.

PhpStorm weist Sie auf solche Fälle hin, da sie eine Fehlerquelle sein können. PhpStorm berücksichtigt alle typbezogenen Informationen und hilft Ihnen auch in weniger offensichtlichen Fällen, eventuelle Probleme zu finden.

PHP 8: Zuweisung in Funktionsaufruf durch benanntes Argument ersetzen

PHP 8: Zuweisung in Funktionsaufruf durch benanntes Argument ersetzen

Früher waren Variablenzuweisungen in Funktionsaufrufen als Ersatz für Parameternamen üblich.

Wenn Sie PHP 8 verwenden, können Sie mit Alt+Enter die Zuweisung durch ein echtes benanntes Argument ersetzen.

Ersetzen von isset durch coalesce

Ersetzen von isset durch coalesce

Der Code isset($a) ? $a : $b; ist genau identisch mit $a ?? $b, daher bietet PhpStorm mit einem Alt+Enter-Quick-Fix den Umstieg auf die einfachere Variante an.

Vereinfachung von if-Blöcken mit identischem Inhalt

Vereinfachung von if-Blöcken mit identischem Inhalt

Manchmal werden if- oder else-Blöcke nach Änderungen redundant, da sie denselben Inhalt haben. PhpStorm bietet in solchen Fällen entweder das Extrahieren der identischen Teile oder das Zusammenführen von Blöcken an.

Umkehrung von if-Ausdrücken

Umkehrung von if-Ausdrücken

Wenn Sie auf einem if-Ausdruck Alt+Enter drücken, können Sie im Menü Invert `if` statement auswählen. Dadurch wird die Bedingung umgekehrt und die erforderlichen Anpassungen am Code vorgenommen, um die Logik beizubehalten. Wenn Sie ein Fan von frühen Returns sind, hilft Ihnen diese Aktion dabei, Ihren Code zu refaktorieren.

Unnötiges führendes „\“ in use-Anweisung

Unnötiges führendes „\“ in use-Anweisung

In einigen Fällen ist der Backslash vor Namensräumen redundant. PhpStorm hilft Ihnen, Fälle zu finden, in denen das Zeichen entfernt werden kann.

foreach-Variable überschreibt bereits definierte Variable

foreach-Variable überschreibt bereits definierte Variable

Bei Schlüssel- und Wertevariablen in foreach-Schleifen können Namenskonflikte mit anderen Variablen oder Parametern auftreten. PhpStorm hebt alle Stellen hervor, an denen Fehler auftreten können.

Unnötige geschweifte Klammern um Variablen

Unnötige geschweifte Klammern um Variablen

Wenn geschweiften Klammern um Variablen in interpolierten Strings redundant sind und entfernt werden können, um den Code übersichtlicher zu machen, weist PhpStorm Sie darauf hin.

Parametertyp anhand des Standardwerts ändern

Parametertyp anhand des Standardwerts ändern

Wenn der deklarierte Typ nicht mit dem Typ eines Wertes übereinstimmt, können Sie den Typ über Alt+Enter unkompliziert anpassen. Bei PHP 8 bietet PhpStorm die Verwendung eines Union-Typs an.

Ersetzen von isset durch `!== null`

Ersetzen von isset durch `!== null`

Die isset()-Funktion ist nur bei Arrays und Variablen wirksam. In allen anderen Fällen sollte der Operand auf null geprüft werden. Mit Alt+Enter können Sie in solchen Fällen isset() durch eine Nullprüfung ersetzen.

Hervorheben unsicherer http://-Links

PhpStorm hebt Verwendungen des http://-Protokolls in Zeichenfolgen hervor und kann sie mit einem Alt-Enter-Quick-Fix in https:// ändern. Sie haben auch die Möglichkeit, mit einem Quick-Fix URLs zur Ignorierliste hinzuzufügen.

Verdächtige Namenskombination

Verdächtige Namenskombination

PhpStorm hebt einige typische falsche Verwendungen von Parameternamen oder Rückgabewerten hervor – zum Beispiel $needle und $haystack oder $x und $y. Diese Verwendungen könnten einen Fehler darstellen – oder sind zumindest sehr verwirrend beim Lesen des Codes.

Inspektionen vor Commits konfigurieren

Inspektionen vor Commits konfigurieren

Sie können jetzt ein Inspektionsprofil auswählen, das vor einem VCS-Commit ausgeführt werden soll. Klicken Sie auf das Zahnradsymbol, um die Commit-Optionen anzuzeigen, aktivieren Sie das Kontrollkästchen Analyze code, klicken Sie auf Configure und wählen Sie das gewünschte Profil aus. Profile können unter Preferences/Settings | Editor | Inspections erstellt werden.

Sonstiges

Bessere Refactorings durch synthetische Gültigkeitsbereiche

Bessere Refactorings durch synthetische Gültigkeitsbereiche

Schleifenkonstrukte wie foreach, for, while oder catch haben in PHP keine isolierten Gültigkeitsbereiche. Dies kann unpraktisch sein, wenn man eine Variable nur innerhalb eines solchen Blocks umbenennen möchte.

In PhpStorm 2021.1 haben wir einen synthetischen Gültigkeitsbereich für solche Blöcke eingeführt, damit das Rename-Refactoring (Umschalt+F6) intuitiver funktioniert.

Automatische Sprachinjektion verbessert

Automatische Sprachinjektion verbessert

PhpStorm 2021.1 analysiert die Verwendung von Variablen und nimmt automatisch Sprachinjektionen vor.

Wenn beispielsweise eine Variable in einer preg_*-Funktion verwendet wird, weiß PhpStorm, dass es sich um einen regulären Ausdruck handelt, und nutzt die entsprechende RegExp-Syntaxhervorhebung.

Erweiterungen im `suggest`-Abschnitt von composer.json

Erweiterungen im `suggest`-Abschnitt von composer.json

PhpStorm berücksichtigt jetzt Erweiterungen in den Abschnitten require und suggest.

PhpStorm warnt Sie, wenn eine Erweiterung empfehlungsgemäß in composer.json registriert wurde, aber ohne eine Prüfung wie extension_loaded() oder function_exists() verwendet wird. Mit einem Quick-Fix können Sie Erweiterungen nach require/require-dev verschieben.

Wichtige Korrekturen

In dieser Version lag unser Hauptaugenmerk auf Stabilität und Qualität. Insgesamt haben wir 2246 Probleme behoben, die von Benutzer*innen und JetBrains-Teammitgliedern in unserem Issue-Tracker gemeldet wurden. Hier sind einige der interessanteren Fälle:

  • Das Debuggen von WSL-2-Projekten ist jetzt in Docker möglich.
  • Die Qualitätstools lösen jetzt Pfade korrekt auf, wenn docker-compose im exec-Modus ist.
  • Große Dateien mit mehr als 5.000 Zeilen werden korrekt gehandhabt.
  • Wir haben die Performance in Projekten mit vielen Aliasnamen erheblich verbessert.

Code With Me

Kollaborative Entwicklung mit Code With Me

Code With Me ist ein JetBrains-Tool für kollaborative Entwicklung und Paarprogrammierung. Seit der Einführung in PhpStorm 2020.3 haben wir verschiedene bedeutende Verbesserungen vorgenommen.

Stellen Sie die benötigte Zugriffsstufe für Ihr Projekt ein und teilen Sie den Link mit Ihren Gästen. Ihre Kolleg*innen benötigen nicht einmal eine eigene IDE, um mit Ihnen zusammenzuarbeiten, und die Plattform bietet neben Chat-Nachrichten sogar eine integrierte Audio- und Videoanruf-Funktion.

Unternehmen, die besonderen Wert auf Sicherheit legen, können Code With Me in ihrem eigenen privaten Netzwerk installieren und sicher ausführen.

HTTP-Client

SSL-Unterstützung

SSL-Unterstützung

Sie können jetzt SSL-Einstellungen im HTTP-Client definieren, indem Sie auf Add environment file klicken und Private auswählen. Die IDE erstellt automatisch eine Datei, in der Sie Ihre SSL-Konfiguration hinterlegen können: clientCertificate, hasCertificatePassphrase, clientCertificateKey, verifyHostCertificate.

Verbesserungen der UI

Verbesserungen der UI

Ein neues Augensymbol bietet Zugriff auf Anzeigeoptionen. Sie können zwischen Text/JSON/HTML/XML wechseln, Zeilennummern aktivieren und mit einer neuen Schaltfläche den Antworttext in die Zwischenablage kopieren.

IDE

Maximieren von Tabs in der geteilten Ansicht

Maximieren von Tabs in der geteilten Ansicht

Sie können den Editor teilen, indem Sie einen Tab in eine Ecke des IDE-Fensters ziehen. Durch einen Doppelklick auf den Tab wird der Tab im Editorbereich maximiert. Durch einen erneuten Doppelklick wird die ursprüngliche Größe wiederhergestellt.

JSONPath-Unterstützung

JSONPath-Unterstützung

Mit der Abfragesprache JSONPath können Sie JSON-Dokumente durchsuchen. Neue Aktionen dafür finden Sie unter Edit | Find | Evaluate JSONPath.

Unterstützung für das JSON-Lines-Format

Unterstützung für das JSON-Lines-Format

PhpStorm now supports the newline-delimited JSON Lines format used for working with structured data and logs. Die IDE erkennt die Dateitypen .jsonl, .jslines, .ldjson und .ndjson.

Typografie-Einstellungen

Typografie-Einstellungen

Sie können jetzt Schriftvarianten und eine Ersatzschriftart einstellen. Sie finden die neuen Optionen unter Typography Settings in Settings / Preferences | Editor | Fonts.

Web-Technologien

Alle neuen Funktionen und Verbesserungen von WebStorm 2021.1 sind auch in PhpStorm 2021.1 verfügbar – entweder als integrierte Funktionen oder als kostenlose Plugins im Plugin-Marketplace.

Verbesserte Stylelint-Unterstützung

Verbesserte Stylelint-Unterstützung

Sie können jetzt mit wenigen Klicks CSS-Probleme mit Stylelint beheben. Bewegen Sie den Mauszeiger oder die Einfügemarke auf ein Problem in Ihrer Datei, drücken Sie Alt+Enter und wählen Sie Stylelint: Fix current file.

Darüber hinaus können Sie unter Settings / Preferences | Languages & Frameworks | Style Sheets | Stylelint den Pfad zur Konfigurationsdatei angeben.

Spezifität von Selektoren prüfen

Spezifität von Selektoren prüfen

When working with style sheets, you can now check the specificity of your selectors – just hover over a selector that you want to check. Alternativ können Sie den Fokus auf einen Selektor legen und mit F1/Strg+Q das Dokumentations-Popup aufrufen, das diese Informationen ebenfalls enthält.

Verbesserungen für GitHub-Pull-Requests

Um einen neuen Pull-Request zu erstellen, klicken Sie auf das +-Symbol oder auf Git | GitHub | Create Pull Request.

Verbesserungen für GitHub-Pull-Requests

Der neue Dialog enthält alles, was Sie benötigen könnten:

  • Basis- und Head-Branches lassen sich von einer Liste aller verfügbaren Branches wählen.
  • Geänderte Dateien können auf dem Files-Tab geprüft werden.
  • Sie können den Titel und die Beschreibung des Pull-Requests bearbeiten, Reviewer und Bearbeiter zuweisen und Labels hinzufügen.
  • Sie können Entwürfe für Pull-Requests anlegen.

Datenbank-Tools

Schauen Sie sich auch die Neuerungen in DataGrip 2021.1 an – alle neuen Funktionen sind auch in PhpStorm verfügbar. Einige Beispiele:

Bedienoberfläche für Grants

Bedienoberfläche für Grants

Das Fenster Modify user, das Sie mit Cmd/Strg+F6 für einen Benutzer im Datenbank-Explorer aufrufen können, bietet jetzt die Möglichkeit, Objekten Grants zuzuordnen.

Dieses Feature ist für PostgreSQL, Redshift, Greenplum, MySQL, MariaDB, DB2, SQL Server und Sybase verfügbar.

Kontextbezogene Live-Vorlagen

Kontextbezogene Live-Vorlagen

Dies ist unsere Lösung für alle, die einfache Anweisungen direkt im Datenbank-Explorer generieren möchten. Wenn Sie im Explorer auf ein Objekt rechtsklicken, enthält die angezeigte Liste spezielle Live-Vorlagen.

Erfahren Sie mehr darüber, wie Sie Ihre eigenen kontextbezogenen Live-Vorlagen erstellen können.