
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


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.