L'EDI PHP PHPStorm 2022.1 apporte la prise en charge des tableaux multilignes et imbriqués,
ainsi que de nouvelles fonctionnalités de métadonnées PHP avancées

PhpStorm 2022.1 est une mise à jour majeure qui assure la prise en charge des tableaux multilignes et imbriqués, la refactorisation d'Extract Method in situ, la prise en charge étendue des modèles Blade, WordPress, des génériques dans PHP, et bien plus encore.

Tableaux multilignes et imbriqués

Les formes de tableau dans les blocs PHPDoc sont prises en charge depuis PhpStorm 2021.2. Toutefois, il n'était possible d'annoter qu'une seule ligne ou un seul niveau. Dans PhpStorm 2022.1, l'éditeur prend désormais entièrement en charge les tableaux multilignes et imbriqués, aussi bien dans PHPDoc que dans l'attribut #[ArrayShape] !

Ajoutez des annotations de forme de tableau pour bénéficier de la saisie semi-automatique du code pour les clés et déduire les types de valeur dans des structures de données tabulaires simples ou des tableaux de type objet. Vous pouvez utiliser à la fois PHPDoc et la syntaxe Attribut dans PhpStorm, selon vos préférences. La syntaxe est prise en charge pour les types de retour et de paramètres.

Refactorisation d'Extract Method in situ

Extract Method est l'une des refactorisations les plus courantes de PhpStorm. Pour simplifier le code et créer une méthode, sélectionnez une partie de code et appuyez sur ⌘⌥M (Cmd+Alt+M / Ctrl+Alt+M).

Auparavant, cette action ouvrait une boîte de dialogue de configuration de la refactorisation. Toutefois, personne n'aime les fenêtres contextuelles. C'est pourquoi vous pouvez maintenant utiliser la refactorisation in situ pour extraire une méthode dans de nombreux cas.

Aucune boîte de dialogue ne s'affichera et une nouvelle méthode (ou fonction) sera créée directement dans l'éditeur. Le curseur sera actif pour modifier le nom de la nouvelle méthode.

Prise en charge étendue des modèles Laravel Blade

Auparavant, PhpStorm traitait chaque bloc de code des modèles Blade comme une portée indépendante. Cette situation créait des problèmes fréquents de saisie semi-automatique du code et d'analyse.

Dans PhpStorm 2022.1, nous avons considérablement remanié le traitement des modèles Blade par l'IDE. Par conséquent, la saisie semi-automatique du code est considérablement améliorée dans vos fichiers .blade.php.

De nombreux autres problèmes de saisie semi-automatique du code et de formatage ont également été résolus pour les modèles Blade.


Améliorations pour WordPress

Prise en charge des chemins dynamiques avec « get_template_directory_uri() »

Dans PhpStorm, vous pouvez effectuer ⌘+Clic (Ctrl+Clic) sur les chemins de fichier pour ouvrir les fichiers correspondants dans l'éditeur. Ce raccourci ne fonctionnait pas pour les chemins dynamiques du code WordPress lorsque le chemin se confondait avec les fonctions WordPress.

Cette version prend en charge la fonction get_template_directory_uri() dans les chemins. D'autres fonctions seront prises en charge dans les mises à jour suivantes.

Passage de l'appel de hook aux enregistrements

Le système de hooks de WordPress est puissant, mais il ne permet pas d'établir une relation entre le point d'appel du hook et le point de déclaration du gestionnaire.

Vous disposez à présent d'une icône de gouttière, à gauche d'un appel. Cliquez dessus pour afficher la liste des utilisations de hooks, y compris l'enregistrement et d'autres appels.

Nouvelles fonctionnalités de métadonnées PHP avancées

Comme vous le savez sans doute, PhpStorm ne se contente pas d'utiliser les fonctions d'analyse de code intégrées, mais accède également à des informations externes sur le code. Toutes ces connaissances sont réunies dans le fichier .phpstorm.meta.php. Vous pouvez l'utiliser pour donner à PhpStorm plus d'informations sur la base de code, permettant ainsi d'améliorer la saisie semi-automatique.

Prise en charge des méthodes magiques __call et _callStatic

Si vous dépendez des méthodes magiques _call ou _callStatic, vous perdez la saisie semi-automatque du code pour les méthodes, car elles ne sont pas définies.

Dans cette version, vous pouvez ajouter l'entrée de métadonnées correspondante et bénéficier de la saisie semi-automatique pour ces types d'appel.

Vous pouvez même traiter automatiquement les appels dynamiques en obtenant un nom de méthode spécifique à partir d'une valeur de paramètre.

Nom : php.png
Affichages : 138059
Taille : 71,6 Ko

Prise en charge des types d'union

Il est désormais possible de spécifier les types d'union sous la forme @|MyClass dans .phpstorm.meta.php, ce qui peut améliorer l'assistance du code pour les mocks.

Meilleure prise en charge des annotations et des génériques

JetBrains améliore constamment la prise en charge des génériques basés sur les annotations dans PhpStorm. Dans cette version, JetBrains a couvert quelques nouveaux cas, notamment :
  • @psalm-import-type, @phpstan-import-type
  • @psalm-trace, @phpstan-trace
  • Génériques dans les balises @method

Nom : storm.png
Affichages : 1875
Taille : 37,9 Ko

Nouvel assistant de projet Composer

Désormais, lors de la création d'un projet vide, vous avez la possibilité de générer automatiquement le fichier composer.json correspondant et de fournir les dépendances voulues. Une fois le projet créé, PhpStorm vous invite à l'installer.

Nom : projet.png
Affichages : 1791
Taille : 55,7 Ko

Expérience utilisateur

Nouvelle fenêtre d'outil Notifications

JetBrains a remplacé l'instance Event Log par la nouvelle fenêtre d'outils Notifications. Cette modification permet d'obtenir une meilleure vue d'ensemble des notifications de l'EDI et de réduire le risque de manquer une information importante. Par défaut, la nouvelle fenêtre d'outils est située dans le coin inférieur droit de la fenêtre de l'EDI. Toutes les notifications sont classées en deux catégories : Suggestions et Timeline.

Mise à jour de la boîte de dialogue Structural Search and Replace

Appelez Structural Search and Replace dans le menu principal Edit | Find | Search Structurally…

JetBrains a remanié la boîte de dialogue Structural Search and Replace afin de présenter une liste de tous les modèles et de faciliter leur navigation.

JetBrains a également ajouté l'icône Pin Dialog dans le coin supérieur droit de la boîte de dialogue Structural Search and Replace.

Onglets divisés uniformément

Il est désormais possible de répartir uniformément l'espace de travail entre les onglets de l'éditeur afin qu'ils aient tous la même largeur. Activez Settings / Preferences | Advanced Settings | Editor Tabs | Equalize proportions in nested splits.

Exportation de diagrammes UML vers d'autres formats

Il est désormais possible d'exporter des diagrammes UML sous forme de fichiers yEd .graphml, JGraph .drawio, Graphviz .dot, Mermaid .md, Plantuml et IntelliJ IDEA .uml, afin d'assurer la compatibilité avec des outils tiers.

Améliorations pour Markdown

Exécution de commandes à partir de fichiers Markdown

Les fichiers README décrivent souvent les étapes nécessaires à l'exécution d'une application et répertorient une série de commandes à utiliser. PhpStorm 2022.1 vous permet d'exécuter ces commandes directement depuis le fichier markdown : il suffit de cliquer sur l'icône Run dans la gouttière, à gauche de la commande.

Copy code snippet pour Markdown

JetBrains a également ajouté une action Copy code snippet aux blocs Markdown qui permet de copier facilement leur contenu dans le presse-papiers.

Mise à jour de la barre d'outils flottante de l'éditeur Markdown

JetBrains a remanié la barre d'outils flottante qui s'affiche lors de la sélection de texte, afin de faciliter la mise en forme des fichiers Markdown. Hormis la nouvelle présentation, cette barre d'outils permet désormais de créer des listes et comporte un menu pour sélectionner les styles d'en-tête.

La barre d'outils est personnalisable, vous pouvez donc y ajouter les options dont vous avez le plus besoin. Accédez à Settings / Preferences | Appearance & Behavior | Menus and Toolbars | Markdown Editor Floating Toolbar.

En savoir plus et télécharger PHPStorm 2022.1