Nous sommes heureux de vous présenter la dernière version majeure de PhpStorm cette année! Sous la coupe se trouve une analyse détaillée de tous les changements et nouvelles fonctionnalités.
- PHP 8 : prise en charge de toutes les fonctionnalités du langage et des attributs Storm .
- PHPStan Psalm .
- Xdebug 3 , IDE.
- HTTP- Guzzle cURL.
- .
- Mermaid.js, , .
- Git stage changelists.
- SQL MongoDB.
- Tailwind CSS .
PHP 8
Sortie de PHP 8.0 . Un grand merci à tous les contributeurs et responsables de publication!
PhpStorm 2020.3 prend en charge tous les derniers changements de langue. Jetons un coup d'œil à ce qui est disponible et comment l'utiliser dans l'EDI.
Version de la langue dans la barre d'état
Désormais, la barre d'état affiche toujours la version PHP actuelle du projet. Vous pouvez également changer de version à partir de là.
Si le bouton radio n'est pas actif, cela signifie que la limite de version de PHP est définie dans composer.json.
Arguments nommés
En PHP 8, les arguments des fonctions et des méthodes peuvent être passés en spécifiant un nom de paramètre. Les appels sont désormais automatiquement documentés et les paramètres optionnels sont optionnels au sens plein du terme.
À l'aide du correctif rapide Ajouter des identificateurs de nom , vous pouvez ajouter des noms aux arguments: les
fautes de frappe ou les noms d'arguments erronés sont mis en surbrillance:
si la valeur transmise correspond à la valeur du paramètre par défaut, vous pouvez la supprimer en toute sécurité: au
lieu du tableau d'options, vous pouvez utiliser des ne passant que les nécessaires. Les arguments passés de cette manière sont de type sûr, contrairement aux éléments de tableau.
Les attributs
Les attributs sont une nouvelle façon structurée de spécifier des métadonnées en PHP au lieu des commentaires PHPDoc.
Pour créer un attribut, vous devez déclarer une classe et ajouter un marqueur
#[Attribute]
. Ici, PhpStorm vous aidera à mettre en évidence, à compléter le code, à rechercher des usages, à refactoriser et plus encore.
PHP lui-même ne vérifie la validité des attributs que lorsqu'il est appelé
ReflectionAttribute::newInstance()
. Et si vous n'accédez pas aux attributs via Reflection, ils sont complètement ignorés afin de ne pas charger des classes inutiles et de créer des objets.
Mais PhpStorm validera tout dans l'éditeur sans exécuter l'API Reflection. Les règles suivantes sont vérifiées:
- La classe spécifiée peut en effet être un attribut.
- Cet attribut s'applique uniquement aux endroits autorisés: une classe, une propriété, une méthode, un paramètre, une fonction ou une constante de classe.
- L'attribut est répété uniquement s'il est déclaré avec un indicateur
Attribute::IS_REPEATABLE
.
Voici les attributs en action avec Symfony:
Attributs PHP 8 Storm
Plusieurs attributs sont disponibles dans PhpStorm 2020.3 prêts à l'emploi dans l'espace de noms
\JetBrains\PhpStorm\
.
Vous pouvez les utiliser immédiatement dans votre base de code sans rien connecter.
Mais si vous utilisez en plus d'autres outils d'analyse statique et que vous ne souhaitez pas recevoir d'erreurs de classe non trouvée , il peut être utile d'ajouter le package d' attributs JetBrains / phpstorm-attributes en tant que dépendance à
composer.json
.
# [Obsolète]
Utilisez cet attribut comme une balise PHPDoc @deprecated pour marquer les méthodes, les classes ou les constantes de classe qui seront supprimées à l'avenir.
L'avantage ici est que vous pouvez spécifier un remplacement pour le code obsolète et il sera plus facile pour l'utilisateur de mettre à jour.
Jetons un coup d'œil à un exemple du monde réel. Dans le Symfony 5.2 récemment publié , la méthode est
\Symfony\Component\DependencyInjection\Alias::setPrivate()
obsolète . Si vous y ajoutez un attribut
#[Deprecated]
, vous pouvez simplifier la migration.
#[Deprecated(
reason: 'since Symfony 5.2, use setPublic() instead',
replacement: '%class%->setPublic(!%parameter0%)'
)]
# [ArrayShape]
Cet attribut est utile pour travailler avec des structures de données simples ou des tableaux de type objet lorsque, pour une raison quelconque, une classe ne peut pas être déclarée.
La syntaxe est la suivante:
#[ArrayShape([
// ‘key’ => ’type’,
‘key1’ => ‘int’,
‘key2’ => ‘string’,
‘key3’ => ‘Foo’,
‘key3’ => App\PHP 8\Foo::class,
])]
function functionName(...): array
Le type peut être spécifié sous forme de chaîne ou de référence de classe sous la forme d'une chaîne ou d'une constante FQN
::class
.
Le tableau qui définit la "forme" peut être placé dans une constante et réutilisé:
const MY_ARRAY_SHAPE = [];
#[ArrayShape(MY_ARRAY_SHAPE)]
Dans PhpStorm, nous avons déjà annoté
#[ArrayShape]
certaines fonctions PHP standard avec un attribut , par exemple
parse_url()
.
Heureusement, la syntaxe des attributs sur une seule ligne est rétrocompatible. Autrement dit, si vous écrivez
#[ArrayShape]
sur une seule ligne dans un projet PHP 7, l'interpréteur PHP interprétera cette ligne comme un commentaire.
Contrairement à l'interpréteur PHP, PhpStorm analysera les attributs de toute façon! Ainsi, même si votre projet exécute PHP 7.4 ou une version inférieure, vous bénéficierez toujours de l'ajout
#[ArrayShape]
.
# [Immuable]
Les objets immuables ne peuvent pas être modifiés après l'initialisation ou la création. Leur utilisation rend l'état du programme plus prévisible et plus facile à déboguer.
Un attribut
#[Immutable]
peut être utilisé pour marquer une classe entière ou des propriétés spécifiques pour indiquer qu'elles ne peuvent pas être modifiées.
PhpStorm vérifiera l'utilisation de ces objets et propriétés et mettra en évidence les tentatives de changement.
La modification d'une propriété par défaut est autorisée dans le constructeur, mais peut également être autorisée dans les méthodes privées / protégées. Cela se fait à l' aide des constantes
CONSTRUCTOR_WRITE_SCOPE
,
PRIVATE_WRITE_SCOPE
,
PROTECTED_WRITE_SCOPE
transmis au constructeur
#[Immutable]
.
# [Pure]
Cet attribut marque les fonctions pures, c'est-à-dire celles qui ne produisent aucun effet secondaire. Ces fonctions peuvent être supprimées en toute sécurité si le résultat de leur exécution n'est pas utilisé ultérieurement.
Si une fonction est marquée comme propre, mais qu'il y a une tentative de changer quelque chose en dehors de la portée externe dans son corps, alors PhpStorm mettra en évidence le code non sécurisé.
Toutes les fonctions PHP pures standard sont déjà marquées avec cet attribut dans PhpStorm.
# [ExpectedValues]
À l'aide de cet attribut, vous pouvez spécifier les valeurs que la fonction prend comme paramètres et celles qui peuvent être renvoyées.
C'est pratiquement la même chose que
expectedArguments()
dans
.phpstorm.meta.php
. La seule différence est que la version méta est plutôt auxiliaire et que l'attribut indique de manière rigide qu'il n'y a pas d'autres valeurs possibles.
Par exemple, considérons la fonction de comptage:
count ( array|Countable $array_or_countable [, int $mode = COUNT_NORMAL ] ) : int
Son deuxième argument est un entier, mais en fait ce n'est pas un entier arbitraire, mais l'une des constantes
COUNT_NORMAL
ou
COUNT_RECURSIVE
.
Voici comment l'attribut
#[ExpectedValues]
améliorera la situation:
c'est-à-dire que l'auto-complétion est apparue et si quelque chose d'autre est passé, l'erreur est mise en évidence.
Comment spécifier des valeurs possibles ou des masques binaires
Les valeurs attendues sont transmises au constructeur de l'attribut et peuvent être l'une des suivantes:
Et il existe plusieurs façons de spécifier les arguments attendus:
- Nombres:
#[ExpectedValues(values: [1,2,3])]
- Littéraux de chaîne:
#[ExpectedValues(values: [‘red’, ‘black’, ‘green’])]
- Constantes:
#[ExpectedValues(values: [COUNT_NORMAL, COUNT_RECURSIVE])]
- Constantes de classe:
#[ExpectedValues(values: [Code::OK, Code::ERROR])]
Et il existe plusieurs façons de spécifier les arguments attendus:
-
#[ExpectedValues(values: [1,2,3])]
, .
-
#[ExpectedValues(flags: [1, 2, 3])]
, ,1 | 3
.
-
#[ExpectedValues(valuesFromClass: MyClass::class)]
, `MyClass
`.
-
#[ExpectedValues(flagsFromClass: ExpectedValues::class)]
, `MyClass`.
Un autre exemple # [ExpectedValues]
Prenons une aide
response()
de Laravel. Il prend le code d'état HTTP comme deuxième paramètre.
Il y a deux problèmes
- Pas de saisie semi-automatique avec les codes possibles
- Pas de validation de valeur dans l'éditeur
Corrigeons cela en ajoutant l'attribut
#[ExpectedValues(valuesFromClass: Response::class)]
# [Non-retour]
Certaines fonctions peuvent arrêter l'exécution du script. Le marquage des fonctions telles que les points de sortie avec un attribut
#[NoReturn]
améliore l'analyse du flux de contrôle.
# [Langue]
Cet attribut peut être ajouté aux paramètres de chaîne qui attendent du texte dans certaines langues, telles que RegExp, SQL, DQL, etc.
Pour les arguments, la mise en évidence et les options supplémentaires apparaîtront.
Revenons aux nouvelles fonctionnalités de PHP 8.
Déclaration des propriétés dans le constructeur
Les propriétés normales peuvent être converties en propriétés promues ou vice versa à l'aide du correctif rapide Convertir en propriété promue .
PhpStorm garantit que les propriétés ne sont utilisées que d'une manière autorisée dans PHP 8:
- Vous ne pouvez déclarer des propriétés que dans le constructeur.
- Ne peut pas être déclaré dans un constructeur abstrait.
- Vous ne pouvez pas déclarer une propriété variadique de cette manière.
- La propriété ne peut pas être de type «Callable».
- Les remplacements de propriété ne sont pas autorisés.
Si la propriété est déclarée d'une nouvelle manière, mais que l'initialisation reste dans le corps du constructeur, PhpStorm proposera de la supprimer.
Expression de correspondance
La nouvelle expression est similaire à
switch
mais utilise une comparaison stricte et peut être affectée à une variable ou renvoyée.
PhpStorm détecte si un bloc peut
switch
être réécrit
match
et le fera automatiquement avec une solution rapide en appuyant sur Alt + Entrée:
Il peut être difficile de voir l'utilisation incorrecte d'une nouvelle expression, donc PhpStorm mettra en évidence toutes les erreurs.
Des valeurs dupliquées seront trouvées dans les conditions: Une
expression de correspondance avec une branche et une branche par défaut peut être remplacée en toute sécurité par une expression ternaire.
Et s'il ne reste que la branche par défaut, la correspondance n'est pas du tout nécessaire.
Enfin, si les corps sont identiques dans différentes branches, ils peuvent être fusionnés.
Opérateur Nullsafe
Au lieu d'un tas de conditions avec une vérification de null, vous pouvez maintenant utiliser une chaîne d'appels avec un nouvel opérateur
?->
.
PhpStorm vérifiera l'utilisation correcte de l'opérateur:
Virgule suspendue
Il est désormais permis d'ajouter une virgule après le dernier argument lors de l'appel de fonctions et dans une liste de fermeture
use
.
Captures sans capture
En PHP 8, vous pouvez intercepter une exception dans un bloc catch sans variable.
Lancer l'expression
Des exceptions peuvent désormais être lancées dans les fonctions fléchées et les opérateurs courts
??
, ainsi que dans ternaire
? :
.
Vous pouvez utiliser la sténographie
thr
et appuyez sur l'onglet - il s'agit d'un modèle en direct .
Constante :: classe sur les objets
Auparavant, pour obtenir le FQN d'un objet, vous deviez utiliser une fonction
get_class()
. En PHP 8, l'appel
get_class($object)
peut être remplacé en toute sécurité par
$object::class
.
En fait, en appuyant sur Alt + Entrée, un tel remplacement peut être effectué. Une utilisation incorrecte de la constante
::class
PhpStorm sera mise en évidence.
Nouvelles fonctions pour les chaînes: str_contains (), str_starts_with (), str_ends_with ()
Comment vérifier si une chaîne contient un mot spécifique? Est la question PHP la plus vue sur Stack Overflow. PHP 8 a une réponse claire à cette question: utilisez une fonction
str_contains()
.
PhpStorm 2020.3 tous les appels
strpos()
qui peuvent être remplacés par
str_contains()
:
Il existe également de nouveaux
str_starts_with()
, et
str_ends_with()
pour déterminer si la sous-chaîne spécifique de la ligne de début ou de fin. PhpStorm met en évidence les endroits où les appels
substr()
peuvent être remplacés par de nouvelles alternatives:
Avertissements moteurs reclassifiés
En PHP 8, le type d'avertissement lancé a été révisé pour de nombreuses erreurs. À savoir, au lieu de l'avis dans de nombreux cas, il y aura une exception ou une erreur de type.
Dans PhpStorm, pour cette raison, certaines inspections ont deux niveaux de gravité différents: pour PHP 8 et pour les anciennes versions.
Ce sont tous les plus notables de PHP 8. Il y a tout un tas de petits changements qui seront visibles lorsque vous passez à PHP 8.
Prise en charge de Psalm et PHPStan
Les deux analyseurs statiques peuvent être utilisés dans PhpStorm 2020.3 pour mettre en évidence les problèmes directement dans l'éditeur.
Si PHPStan ou Psalm sont ajoutés en tant que dépendances dans
composer.json
, il y aura une icône de clé à côté d'eux qui ouvre les paramètres de l'outil.
De là, vous pouvez accéder aux paramètres d'inspection et activer la mise en évidence dans l'éditeur. Cela se fait en sélectionnant l'inspection appropriée dans PHP | Outils de qualité dans Paramètres / Préférences | Rédacteur | Inspections .
️ Il est préférable d'allumer un seul des instruments plutôt que les deux à la fois.
Ici, vous pouvez également spécifier le chemin d'accès au fichier de configuration et configurer les arguments de la ligne de commande.
️ PHPStan peut fonctionner sans fichier de configuration, mais Psalm l'exige. S'il y en a
psalm.xml
ou dans le répertoire racine
phpstan.neon
, PhpStorm les extraira automatiquement.
Lorsque tout est configuré, ouvrez n'importe quel fichier et vous verrez un surlignage des analyseurs statiques. Il peut y avoir un court délai avant que le rétroéclairage n'apparaisse.
Annotations
Toutes les annotations de psaume sont
@psalm-*
désormais correctement mises en évidence dans l'éditeur. Mais en général, vous pouvez maintenant supprimer en toute sécurité le préfixe
@psalm-
des balises, c'est-à-dire
@psalm-return
->
@return
et
@psalm-param
->
@param
.
Support de type
Nous avons ajouté la prise en charge de certains types de psaume, et sur la base des informations des balises, nous avons amélioré notre inférence de type. Cela a rendu les contrôles, la génération de code et l'auto-complétion plus précis.
Pseudo-types
Prend en charge les pseudo-types de psaume, tels que scalaires, numériques, etc.
Constantes dans les types
Prend en charge les jointures constantes et la spécification via des
*
balisesparam et var...
Indices de type pour les tableaux Les
descriptions de tableaux sont
array<array-key, Type>
également prises en charge, y compris celles imbriquées.
Generics et @tempate Le
support générique est une fonctionnalité pour les utilisateurs avancés qui n'a pas une spécification correcte complète et de nombreux cas extrêmes . Cependant, nous avons décidé d'implémenter le support de base de
@template
la syntaxe basée sur Psalm pour voir comment cela sera utilisé.
Jusqu'à présent, seul le cas le plus primitif est pris en charge, lorsque la fonction renvoie l'un de ses paramètres.
Ce support générique est très basique et expérimental. Nous voulons comprendre comment il sera utilisé et ce qui doit être mis en œuvre en premier. Nous serions ravis de vous entendre, en particulier sous la forme de cas d'utilisation réels dans notre tracker .
Xdebug 3
Le débogueur PHP populaire a été mis à jour pour le rendre beaucoup plus rapide et plus facile à configurer. En savoir plus sur Xdebug 3 dans le guide de mise à niveau .
Pour configurer Xdebug 3, une option xdebug.mode suffit maintenant (comme ceci
XDEBUG_MODE=debug
).
Le port Xdebug par défaut a également été modifié: au lieu de
9000
maintenant
9003
. Pour simplifier la migration, PhpStorm écoute par défaut sur les deux ports. Les paramètres de port et d'autres options pour Xdebug se trouvent dans Préférences / Paramètres | Langues et cadres | PHP | Déboguer .
Améliorations du débogueur
Les capacités de débogage de PhpStorm ont été étendues avec deux nouvelles fonctionnalités.
Conseils interactifs
Désormais en mode débogage, vous pouvez étendre la sortie des variables pour voir tous les champs. Vous pouvez également modifier les valeurs ici.
Montres en ligne
Dans les versions précédentes, vous pouviez ajouter une variable ou une expression à la liste de surveillance et observer le changement de valeur étape par étape.
Dans PhpStorm 2020.3, vous pouvez ajouter des montres directement dans le contexte, et elles seront affichées à côté du code.
Cliquez sur Ajouter en tant que montre intégrée dans la fenêtre contextuelle de l'indice.
Ou cliquez sur Ajouter une montre en ligne dans le menu contextuel de l'éditeur.
Ou sélectionnez la variable et sélectionnez Ajouter une montre en ligne dans le menu contextuel .
Surligner et renommer des variables dans Twig
Sélectionnez une variable ou placez le curseur dessus et toutes ses utilisations dans le modèle seront mises en évidence. Et pour renommer toutes les occurrences, appuyez sur Maj + F6.
Co-développement - Code With Me
PhpStorm 2020.3 est livré avec le plugin Code With Me , le nouvel outil de développement collaboratif JetBrains et de programmation par paires. Avec lui, vous pouvez partager un projet ouvert avec d'autres utilisateurs et y travailler ensemble en temps réel. En savoir plus sur Code With Me dans ces articles .
Client HTTP
Intégration de Guzzle avec le client HTTP dans PhpStorm
Guzzle est l'un des clients HTTP les plus populaires pour PHP. Imaginez que quelque part dans le code il y a une requête HTTP et que vous voulez la tester sans exécuter le code lui-même. Auparavant, vous deviez copier tous les paramètres manuellement.
PhpStorm 2020.3 vous permet de convertir de simples requêtes Guzzle en fichiers .http. Si la demande est prise en charge, une icône apparaîtra à côté. En cliquant dessus, vous ouvrirez un nouveau fichier de travail avec l'URL correcte, les paramètres de requête, les méthodes, les en-têtes, le corps.
Désormais, à partir de l'éditeur, la requête peut être exécutée et manipulée, puis enregistrée sous forme de fichier http dans le projet.
En savoir plus sur le client HTTP dans la revue vidéo .
Copier la requête HTTP vers cURL
Pour exporter la requête HTTP vers une chaîne cURL, appuyez sur Alt + Entrée sur la requête dans l'éditeur et sélectionnez Convertir en cURL et copier dans le presse-papiers . Il peut maintenant être inséré dans le terminal, la documentation ou tout autre outil de test d'API.
Éditeur
Améliorations pour Markdown
Vous pouvez utiliser la syntaxe Mermaid.js dans les fichiers markdown pour décrire des graphiques et des graphiques . PhpStorm peut maintenant rendre des aperçus pour eux directement dans l'éditeur. Inclus dans Préférences / Paramètres | Langues et cadres | Markdown .
Il est également maintenant possible de reformater le contenu des fichiers .md selon les styles courants. Terminé en appuyant sur ⌘⌥L / Ctrl + Alt + L.
Configurable dans Préférences / Paramètres | Rédacteur | Style de code | Markdown .
Enfin, si vous cliquez sur le bouton Aperçu par défilement automatique dans le coin supérieur droit de l'éditeur, le défilement de l'aperçu et du texte sera synchronisé.
Amélioration de l'orthographe et de la vérification grammaticale
Les fautes de frappe et les problèmes de grammaire peuvent désormais être corrigés beaucoup plus rapidement:
- Tout d'abord, une explication de l'erreur apparaîtra dans une fenêtre contextuelle.
- Et si vous appuyez sur Alt + Entrée sur le texte en surbrillance, les options de remplacement seront proposées en haut, et non masquées dans un sous-élément, comme auparavant.
Diviser l'éditeur par glisser-déposer
Pour ouvrir plusieurs fichiers côte à côte, faites simplement glisser l'onglet vers le coin souhaité de l'écran.
Il existe une autre façon d'ouvrir un fichier en mode fractionné - Maj + Entrée.
La combinaison peut être cliquée sur le fichier sélectionné dans la vue Projet ou dans les résultats de la recherche de fichiers.
Onglet Aperçu
Si vous avez besoin d'afficher rapidement les fichiers, il n'est plus nécessaire d'ouvrir chacun d'eux dans un onglet séparé. Vous pouvez utiliser le nouvel onglet Aperçu .
Pour l'activer, cliquez sur l'engrenage dans la vue Projet et sélectionnez Activer l'onglet Aperçu et Ouvrir les fichiers en un seul clic .
Vous pouvez également afficher les fichiers en appuyant sur la barre d'espace dans la vue Projet sans les ouvrir.
IDE
Améliorations de la recherche partout
Les résultats sont regroupés par pertinence:
Vous pouvez effectuer des opérations mathématiques simples sans ouvrir la calculatrice
Vous pouvez rechercher par historique Git:
Passage automatique au thème clair ou sombre
Dans Préférences / Paramètres | Apparence et comportement | Apparence | Thème sélectionnez Synchroniser avec le système d'exploitation .
Nouvel ensemble de raccourcis clavier pour macOS
Une autre disposition de raccourcis clavier pour macOS minimise l'utilisation des touches de fonction afin que vous n'ayez pas à étirer votre main sur tout le clavier lors de l'exécution d'actions de base. Par exemple, au lieu de Fn + Shift + F6, le refactoring Rename utilise ⌥ + ⌘ + R.
Mots au lieu d'icônes pour les raccourcis clavier macOS
Vous pouvez faire apparaître les mots Alt, Cmd, etc. au lieu d'icônes comme ⌘ . Activé
dans la section Registre par l'option ide.macos.disable.native.shortcut.symbols . Pour accéder au registre, utilisez Find Action Cmd + Shift + A et écrivez Registry là .
Définir PhpStorm comme application par défaut pour différents fichiers
Les préférences | Paramètres / Editeur / Types de fichiers cliquez sur Associer les types de fichiers à PhpStorm… . Dans la boîte de dialogue, sélectionnez les extensions de fichier et elles s'ouvriront dans PhpStorm.
Un redémarrage est requis sur macOS.
Les modèles peuvent générer plusieurs fichiers
Vous pouvez générer simultanément plusieurs fichiers à la fois, par exemple, un squelette pour un module ou une vue de contrôleur combinée.
Dans Préférences / Paramètres | Rédacteur | Cliquez sur Modèles de fichier et de code pour créer un nouveau modèle, puis cliquez sur l'icône Créer un fichier de modèle enfant . Des variables de type
peuvent être utilisées dans le champ Nom de fichier . Et voici un exemple de la façon de générer un contrôleur et un modèle dans Symfony:
${NAME}
Prise en charge de la scène Git
Vous pouvez l'activer en cochant la case Activer la zone de préparation dans Préférences / Paramètres | Contrôle de version | Git .
Dans la fenêtre de l'outil Valider (Cmd + 0 / Alt + 0), deux groupes de fichiers apparaissent: mis en scène et non mis en scène.
Pour ajouter un fichier à mettre en scène , cliquez sur le + à côté.
Ou vous pouvez sélectionner des lignes spécifiques et les ajouter avec une icône dans l'éditeur. Dans ce cas, vous pouvez valider certaines des modifications du fichier et continuer à travailler sur le reste.
Outils DB
PhpStorm comprend DataGrip dispose de la boîte , qui sont couverts dans la liste de libération DataGrip 2020,3 de nos collègues.
SQL pour MongoDB
Vous pouvez maintenant utiliser des requêtes SQL sur MongoDB. PHPStorm 2020.3 supports
SELECT-
requêtes
JOIN
,
WHERE
,
GROUP BY
,
HAVING
,
ORDER BY
,
LIMIT
,
OFFSET
et toutes les fonctionnalités de MongoDB en dehors carte, réduire, filtrer et laisser. En savoir plus dans le billet de blog .
la toile
Comme toujours, PhpStorm inclut toutes les mises à jour de WebStorm 2020.3 . Le plus notable est la prise en charge de Tailwind CSS.
CSS de Tailwind
PhpStorm complète les classes Tailwind dans les fichiers HTML et après la directive @apply. Il fournira également un complétion de pseudo-classe.
Si vous survolez une classe dans des fichiers HTML et CSS, un aperçu du CSS résultant s'affiche. L'aperçu est également disponible pendant la fin du code, dans la fenêtre contextuelle de documentation F1 / Ctrl + Q.
PhpStorm prend en charge les personnalisations de tailwind.config.js. Par exemple, si vous définissez un thème avec de nouvelles couleurs, dans la fenêtre contextuelle de saisie semi-automatique, des classes seront créées avec le nom de la couleur personnalisée.
Vous pouvez télécharger PhpStorm 2020.3 sur la page « Quoi de neuf ».
Et voici une vidéo (en anglais) montrant les principales caractéristiques de la version:
C'est tout ce temps. Nous serons heureux d'avoir des questions, des souhaits, des rapports de bogues et des réflexions dans les commentaires.