Wir freuen uns, Ihnen die erste Hauptversion von PhpStorm in diesem Jahr präsentieren zu können! Unterhalb des Schnitts finden Sie eine detaillierte Analyse aller Änderungen und neuen Funktionen.
PHP
- Vorschau von PHP- und HTML-Dateien direkt im Editor mit dem integrierten Browser und dem lokalen PHP-Interpreter.
- 20 PHP.
- , PHP, — Settings / Preferences.
- PHP composer.json.
- SQL, RegExp . . .
- SQL- CMS.
- .
IDE
- Split .
- JSONPath JSON-.
- JSON Lines.
- Preferences | Editor | Font.
Docker
Version Control
- - GitHub — IDE .
Code With Me
- JetBrains PhpStorm . Code With Me , - .
Sie können PhpStorm 2021.1 auf der Website oder in der Toolbox-App herunterladen .
Dies ist kurz und jetzt mehr über alles.
PHP
Auswahl der PHP-Version über die Statusleiste
In der vorherigen Version haben wir den PHP-Versionsindikator in der Statusleiste hinzugefügt. In 2021.1 kann die Version unabhängig von der in der angegebenen Version geändert werden
composer.json
. Auf diese Weise können Sie beispielsweise schnell die Kompatibilität des Codes mit neueren PHP-Versionen überprüfen.
Finden Sie leicht PHP-Einstellungen
Die meisten PHP-bezogenen Einstellungen sind jetzt unter Einstellungen / Einstellungen | verfügbar PHP .
Zeigen Sie PHP- und HTML-Dateien im Editor an
Wenn Sie mit der Maus über eine beliebige Stelle im Editor fahren, wird in der oberen rechten Ecke ein Popup-Fenster mit Browsersymbolen angezeigt. Durch Klicken auf das Symbol wird die aktuelle Datei im ausgewählten Browser geöffnet.
Jetzt gibt es hier auch ein PhpStorm-Symbol. Wenn Sie darauf klicken, wird die Datei direkt im Editor zur Vorschau geöffnet.
Die Vorschau funktioniert mit HTML- und PHP-Dateien sowie allen zugehörigen CSS- und JavaScript-Dateien.
Öffnen Sie die Datei und beginnen Sie mit der Eingabe. Auf der Registerkarte Vorschau werden sofort alle Änderungen angezeigt.
PhpStorm verwendet einen lokalen PHP-Interpreter , der für das Projekt unter Einstellungen / Einstellungen | angegeben werden kann PHP... Docker und andere nicht lokale Dolmetscher werden noch nicht unterstützt.
Wenn der Editor keine Symbole enthält, müssen Sie dies in den Einstellungen | sicherstellen Werkzeuge | Webbrowser , mindestens ein Browser ist ausgewählt und das Kontrollkästchen Für HTML-Dateien ist aktiviert .
Sie können die Registerkarte Vorschau auch öffnen, indem Sie Alt + F2 drücken.
Verwenden des Tabellenpräfixes in SQL-Abfragen
Viele CMS und Frameworks erlauben Präfixtabellen. Dies kann nützlich sein, wenn dieselbe Datenbank für mehrere Anwendungen verwendet wird.
Bisher ging die Integration in Datenbank-Tools verloren, da die Tabellennamen dynamisch generiert wurden.
Jetzt können Sie das Präfix in der Datei .phpstorm.meta.php angeben . Weitere Informationen zu Metadateien und zum Festlegen von Tabellenpräfixen finden Sie auf der Hilfeseite .
Angenommen, wir haben die folgende Anfrage in einer Drupal-Anwendung:
Wie Sie sehen können, kann PhpStorm weder den Tabellennamen noch die Spaltennamen auflösen. Dies liegt daran, dass wir das Tabellenpräfix in der Drupal-Konfiguration angegeben haben.
Um dies zu beheben, fügen Sie dem Projekt eine Datei
.phpstorm.meta.php
mit folgendem Inhalt hinzu:
namespace PHPSTORM_META {
override(
// SQL-
sql_injection_subst(),
map([
'{' => "PS2021_", // `{` SQL
'}' => '', // `}`
]));
}
Jetzt kann PhpStorm SQL-Abfragen an Datenquellen binden und bietet Ihnen Funktionen wie die automatische Vervollständigung, den Übergang zur Datenansicht und vieles mehr.
Übrigens, wenn die Anfrage durch Verkettung gebildet wird, funktioniert dies auch:
<?php
const DB_PREFIX = "mydatabase_";
$sql = "SELECT * FROM " . DB_PREFIX . 'table_name';
Inspektionen und schnelle Lösungen
In dieser Version haben wir über 20 verschiedene Überprüfungen und Schnellkorrekturen hinzugefügt, um Fehler in den frühen Entwicklungsphasen zu vermeiden. Sie können die vollständige Liste der Inspektionen anzeigen und unter Einstellungen / Einstellungen | konfigurieren Editor | Inspektionen .
Wenn ein Problem auftritt, bewegen Sie den Mauszeiger darüber, drücken Sie Alt + Eingabetaste und wählen Sie die vorgeschlagene schnelle Lösung aus.
Und jetzt mehr über einige der neuen Inspektionen.
Vereinfachung von If-Blöcken mit denselben Körpern
Einige Blöcke
if
und
else
können redundant sein. Zum Beispiel könnten Sie sie ändern, wodurch ihre Körper ganz oder teilweise gleich waren.
PhpStorm erkennt solche zusätzlichen Blöcke und bietet an, sie zu entfernen:
Wenn nur ein Teil des Körpers wiederholt wird, bietet PhpStorm außerdem an, nur diese zu extrahieren:
Inversion von `if`
Wenn Sie für eine beliebige Taste Alt + Eingabetaste drücken
if
, werden Sie zur Eingabe des Befehls "Invertieren der if-Anweisung" aufgefordert . Es kehrt den Zustand um und nimmt die erforderlichen Anpassungen vor, um die Logik beizubehalten.
Wenn Sie eine frühzeitige Rücksendung verwenden möchten , ist diese Überprüfung sehr hilfreich, wenn Sie Ihren Code überarbeiten.
Zum Beispiel :
In Schleifen funktioniert dies auch:
Ersetzen von `isset` durch ??
Der Code
isset($a) ? $a : $b;
ist identisch
$a ?? $b
, daher wird PhpStorm ihn hervorheben und eine schnelle Lösung für den Austausch vorschlagen.
, — , .
Code | Run Inspection by Name... , `isset` can be replaced with coalesce. .
`isset` `!== null`
Die Verwendung ist
isset()
nur für Arrays und Variablen sinnvoll. In allen anderen Fällen ist es besser, den Operanden auf zu überprüfen
null
.
PhpStorm hebt solche Stellen hervor und ermöglicht es Ihnen, sie durch Alt + Enter
isset()
durch zu ersetzen
null
.
Die Variable in "foreach" überschreibt die bereits deklarierte Variable
Variablen für Schlüssel und Wert in der Schleife
foreach
können mit den Namen anderer Variablen oder Parameter in Konflikt stehen.
Das Problem ist, dass PHP keinen separaten Bereich für sie hat. Das heißt, der Wert wird überschrieben - wahrscheinlich entgegen den Erwartungen.
PhpStorm wird solche Orte hervorheben, da sie potenzielle Fehlerquellen sind.
Unnötige geschweifte Klammern für Variablen innerhalb von Zeichenfolgen
PhpStorm hebt redundante geschweifte Klammern im Kontext der Zeichenfolgeninterpolation hervor und fordert Sie auf, diese zu entfernen und Ihren Code sauberer zu gestalten.
Boolesche Ausdrücke vereinfachen
Wenn der boolesche Ausdruck Literale
true
oder enthält
false
, kann er wahrscheinlich vereinfacht und lesbarer gemacht werden.
PhpStorm hebt solche Ausdrücke hervor und ermöglicht es Ihnen, sie mit Alt + Eingabetaste zu vereinfachen.
Strenger Vergleich mit inkompatiblen Typen
Der Operator
===
kehrt immer zurück,
false
wenn die Operanden nicht vom gleichen Typ sind.
PhpStorm hebt solche Orte jetzt hervor, da sie Fehlerquellen sein können. Gleichzeitig berücksichtigt PhpStorm alle abgeleiteten Typen und hilft Ihnen, Probleme in nicht den offensichtlichsten Fällen zu finden.
Unsichere Links http: //
Die Protokollverwendung
http://
in Zeilen wird jetzt hervorgehoben. Die IDE bietet eine Schnellkorrektur zum schnellen Ersetzen
http://
von
https://
(durch Alt-Enter). Sie können es auch verwenden, um der Liste der ignorierten Links eine URL hinzuzufügen.
Verdächtige Namenskombinationen
PhpStorm hebt einige häufige Fehler bei der Benennung von Parametern oder Rückgabewerten hervor, z. B.
$needle
und
$haystack
oder
$x
und
$y
.
Normalerweise sind solche Fehler ein Symptom für einen Fehler oder zumindest sehr verwirrend.
Ersetzen von `define` durch` const`
PhpStorm erkennt Fälle, in denen eine konstante Deklaration über
define
durch eine besser lesbare Syntax ersetzt werden kann
const
. Mit Alt + Enter können Sie einen Ersatz vornehmen.
Konfigurieren von Inspektionen vor dem Festschreiben
Sie können jetzt ein Inspektionsprofil auswählen, das zur Analyse Ihres Codes verwendet werden soll, bevor Sie sich zu Git verpflichten.
Klicken Sie auf das Zahnradsymbol, aktivieren Sie das Kontrollkästchen Code analysieren , klicken Sie auf Konfigurieren und wählen Sie das gewünschte Profil aus.
Sie können Ihre eigenen Profile unter Einstellungen / Einstellungen | erstellen Editor | Inspektionen .
Andere
Künstlicher Spielraum für Refactoring
Zyklen
foreach
,
for
,
while
und die Blöcke
catch
in PHP nicht Umfang isoliert. Dies ist ziemlich unpraktisch, wenn Sie Variablen umbenennen, da auch Variablen außerhalb des gewünschten Blocks umbenannt werden.
In PhpStorm 2021.1 haben wir einen künstlichen Bereich für alle diese Blöcke hinzugefügt. Wenn Sie jetzt das Refactoring umbenennen (Umschalt + F6) aufrufen, wird das Umbenennen intuitiver.
Verbesserung der automatischen Zungeninjektion
Frühere Versionen von PhpStorm konnten die Sprache nur für Argumente definieren. Wenn Sie beispielsweise eine Zeichenfolge an eine Funktion übergeben haben
preg_*
, wurde diese als regulärer Ausdruck hervorgehoben.
Wenn Sie jedoch eine Variable verwendet haben, wurde ihr Wert in keiner Weise hervorgehoben.
PhpStorm 2021.1 analysiert die Verwendung von Variablen und kann die gewünschte Syntax automatisch implementieren.
Verwenden von Erweiterungen aus dem "suggest" -Block in composer.json
Die Codebasis kann Klassen von PHP-Erweiterungen enthalten. Bisher hat PhpStorm geprüft, ob diese Erweiterungen Abschnitten
require
in der Datei hinzugefügt wurden
composer.json
.
PhpStorm 2021.1 berücksichtigt die Spezifikation von Erweiterungen nicht nur im Abschnitt "Erforderlich", sondern auch im Abschnitt "Vorschlagen".
Noch wichtiger ist, dass PhpStorm jetzt warnt, wenn eine Erweiterung zu in hinzugefügt
suggest
wurde
composer.json
, diese jedoch ohne Typprüfung
extension_loaded()
oder verwendet wird
function_exists()
.
Mit einer speziellen Schnellkorrektur können Sie eine Erweiterung hinzufügen
require/require-dev.
Wichtige Korrekturen
Wir haben über 2400 Tickets repariert, die von unseren Benutzern und dem JetBrains-Team im PhpStorm-Tracker geöffnet wurden. Einige der interessantesten sind:
- WSL 2 Docker (WI-53396).
- Quality tools docker-compose exec- (WI-55840).
- PHP (5000 ) (WI-31569).
- (WI-58306).
Code With Me
Code With Me ist das neue Tool für die gemeinsame Entwicklung und Paarprogrammierung von JetBrains. Wir haben es ursprünglich in PhpStorm 2020.3 eingeführt. Das Tool wurde in dieser Version stark verbessert.
Zunächst wurde es möglich, Zugriffsrechte für Komplizen flexibel festzulegen.
Zweitens müssen Gäste jetzt nicht einmal eine IDE installieren - führen Sie einfach einen Konsolenbefehl aus, und der kostenlose Client wird automatisch heruntergeladen.
Drittens wurden integrierte Sprach- und Videoanrufe sowie ein Messenger hinzugefügt.
Unternehmensteams und andere Sicherheitsteams können ihren Code With Me-Server jetzt in einem privaten Netzwerk ausführen .
Weitere Informationen zu Code With Me finden Sie auf der JetBrains-Website .
IDE
Erweitern von Registerkarten im geteilten Modus
Sie können im geteilten Modus mehrere Registerkarten gleichzeitig öffnen, indem Sie die Registerkarte einfach in die gewünschte Ecke des Bildschirms ziehen.
Sie können jetzt auch auf eine Registerkarte doppelklicken , um sie vollständig zu erweitern. Sie können die Registerkarte auch durch Doppelklicken auf den vorherigen Status zurücksetzen.
JSONPath-Unterstützung
Sie können jetzt JSONPath-Abfragen verwenden, um große JSON-Dokumente schnell zu durchsuchen. Die Funktion finden Sie im Abschnitt Bearbeiten | Suchen | Bewerten Sie JSONPath .
Unterstützung für JSON-Linien
PhpStorm unterstützt jetzt das JSON Lines- Format für die Arbeit mit strukturierten Daten und Protokollen. Die IDE erkennt .jsonl- , .jslines- , .ldjson- und .ndjson-Dateien .
Typografieeinstellungen
Sie können die Haupt- und Fallback-Schriftarten variieren. Neue Optionen in den verfügbaren Typografie - Einstellungen in den Einstellungen / Einstellungen | Editor | Schriftarten .
Docker
Vervollständigung von Bildnamen in Dockerfile
Geben Sie den Namen des Bildes ein und PhpStorm bietet Ihnen eine Liste der im Docker Hub verfügbaren Bilder:
Einfalten von mehrstufigen Docker-Dateien
Wenn Sie mehrere Abschnitte in einer Docker-Datei verwenden, können
FROM
Sie jeden dieser Abschnitte reduzieren. Diese werden zur besseren Lesbarkeit durch eine Linie getrennt.
Docker-Lauf abbrechen
Sie können die Ausführung einer laufenden Docker-Datei einfach über das Fenster " Dienste" stoppen . Wählen Sie im Kontextmenü für das gestartete Element die Option Bereitstellung beenden aus.
Verbesserungen für GitHub-Pull-Anfragen
Um eine Pool-Rekvest zu erstellen, klicken Sie einfach auf das "+" im Fenster Pull Requests oder gehen Sie zu Git | GitHub | Pull-Anfrage erstellen .
Im aktualisierten Dialog können Sie:
- Wählen Sie Basis- und Kopfzweige aus der Liste der verfügbaren Zweige aus.
- Zeigen Sie geänderte Dateien auf der Registerkarte Dateien an.
- Bearbeiten Sie Namen und Beschreibungen von Pull-Anforderungen, weisen Sie Prüfer und Darsteller zu und fügen Sie Tags hinzu.
- Erstellen Sie Entwurfs-Pull-Anforderungen.
PhpStorm 2021.1 unterstützt auch Pull-Request-Vorlagen. Fügen Sie
pull_requst_template.md
dem Projekt eine Datei hinzu und geben Sie den darin enthaltenen Vorlagentext an. Jedes Mal, wenn Sie eine neue Pull-Anforderung erstellen, wird diese Beschreibung automatisch ausgefüllt.
Vorlagenunterstützung für Git-Commits
PhpStorm berücksichtigt jetzt die Vorlage, die in
commit.template
Ihrem Git-Konfigurationsparameter angegeben ist, wenn eine Commit-Nachricht erstellt wird .
HTTP-Client
SSL-Unterstützung
Jetzt können Sie im HTTP-Client SSL-Einstellungen festlegen. Klicken Sie auf die Schaltfläche Umgebungsdatei hinzufügen und wählen Sie Privat . Datei wird erzeugt , in dem Sie die SSL - Einstellungen festlegen können:
clientCertificate
,
hasCertificatePassphrase
,
clientCertificateKey
,
verifyHostCertificate
.
Verbesserungen für OpenAPI / Swagger
PhpStorm unterstützt OpenAPI-Spezifikationen und die integrierte Swagger-Benutzeroberfläche.
Jetzt unterstützt die Swagger-Benutzeroberfläche Spezifikationen mit externen Dateien, die über verbunden sind
$ref
.
DB Tools
PhpStorm enthält integrierte DataGrip- Funktionen : eine Berechtigungsschnittstelle , Kontextvorlagen für Live-Vorlagen, eine vereinfachte Navigation und vieles mehr. Weitere Informationen zu diesen Funktionen finden Sie in der DataGrip 2021.1-Versionsübersicht unserer Kollegen.
Netz
Und wie immer enthält PhpStorm alle Updates von WebStorm 2021.1 : intelligentere automatische Vervollständigung für JavaScript und TypeScript, erweiterte Stylelint-Unterstützung und mehr.
Und hier ist ein Video (auf Englisch), in dem wir die Hauptfunktionen dieser Version demonstrieren:
Das ist alles für jetzt. Wir freuen uns über Ihr Feedback - Fragen, Wünsche, Fehlerberichte und nur Gedanken. Hinterlassen Sie sie in den Kommentaren unten.