PhpStorm 2022.1 constitue une mise à jour majeure de l'IDE qui apporte la prise en charge des tableaux multilignes et imbriqués, la refactorisation Extract Method directement dans l'éditeur, une meilleure prise en charge des modèles Blade, de WordPress, des génériques en PHP, et bien plus.
Les formes de tableaux 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.
Avec PhpStorm 2022.1, nous prenons 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 PHPDoc et la syntaxe Attribut dans PhpStorm, selon ce que vous préférez. La syntaxe est prise en charge pour les types de retour et les types de paramètres.
Extract Method est l'une des refactorisations les plus utilisées dans 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 pour la configuration de la refactorisation. Mais personne n'aime les fenêtres contextuelles. C'est pourquoi cette nouvelle version offre la possibilité d'utiliser la refactorisation directement dans l'éditeur dans de nombreux cas.
Aucune boîte de dialogue ne s'affiche 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.
Auparavant, PhpStorm traitait chaque bloc de code des modèles Blade comme une zone indépendante. Cela causait souvent des problèmes avec la saisie semi-automatique et l'analyse du code.
Dans PhpStorm 2022.1, nous avons considérablement amélioré le traitement des modèles Blade par l'IDE. La saisie semi-automatique du code dans les fichiers .blade.php
est ainsi beaucoup plus efficace.
De nombreux autres problèmes de saisie semi-automatique et de formatage du code dans les modèles Blade ont également été résolus. En savoir plus.
Vous pouvez utiliser ⌘+Clic (Ctrl+Clic) sur les chemins de fichier pour ouvrir les fichiers correspondants dans l'éditeur. Cela ne fonctionnait pas pour les chemins dynamiques dans du code WordPress lorsque le chemin comprenait des fonctions WordPress.
Dans cette version, nous avons ajouté la prise en charge de la fonction get_template_directory_uri()
dans les chemins. D'autres fonctions seront prises en charge dans les mises à jour suivantes.
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.
Comme vous le savez peut-être, en plus de ses capacités d'analyse du code intégrées, PhpStorm a aussi une connaissance du code Php provenant de fichiers de métadonnées. 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 et ainsi améliorer la saisie semi-automatique.
Auparavant, si vous utilisez les méthodes magiques _call
ou _callStatic
, vous perdiez la saisie semi-automatique du code pour les méthodes, car elles n'étaient 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'appels.
Vous pouvez même traiter automatiquement les appels dynamiques en récupérant un nom de méthode spécifique à partir d'une valeur de paramètre.
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.
Pour en savoir plus sur les autres fonctionnalités de métadonnées, consultez la documentation.
Nous continuons à améliorer la prise en charge des génériques basés sur les annotations dans PhpStorm. Dans cette version, nous avons ajouté la couverture de nouveaux cas, notamment :
@psalm-import-type
, @phpstan-import-type
@psalm-trace
, @phpstan-trace
@method
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.
Nous avons 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'IDE 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'IDE. Les notifications sont classées en deux catégories : Suggestions et Timeline.
Appelez Structural Search and Replace dans le menu principal Edit | Find | Search Structurally…
Nous avons remanié la boîte de dialogue Structural Search and Replace afin de présenter une liste de tous les modèles et de faciliter la navigation entre eux.
Nous avons également ajouté une icône Pin Dialog dans le coin supérieur droit de la boîte de dialogue Structural Search and Replace.
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.
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.
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.
Nous avons également ajouté une action Copy code snippet aux blocs Markdown, qui permet de copier facilement leur contenu dans le presse-papiers.
Nous avons 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. Allez dans Settings / Preferences | Appearance & Behavior | Menus and Toolbars | Markdown Editor Floating Toolbar.
Nous avons amélioré la fonctionnalité d'Annotate with Git Blame afin de faciliter l'examen des modifications. L'IDE met en évidence la différence entre les lignes directement dans l'éditeur lorsque vous survolez une annotation, et si vous cliquez dessus, l'IDE ouvre la fenêtre d'outils Git Log.
Il est maintenant plus facile de travailler avec les modifications suggérées dans PhpStorm, car vous pouvez appliquer des modifications au code ou valider des modifications par commit localement, directement dans l'IDE.
Le volet Commit Details comprend désormais des informations sur les signatures GPG et l'état du build. Auparavant, ces données étaient seulement affichées dans une colonne du journal Git.
La nouvelle interface utilisateur de la fenêtre d'outils Git File History est désormais indépendante du processus d'indexation. Les données sont représentées avec une nouvelle interface, même lorsque l'indexation des journaux est désactivée.
Nous avons présenté ici les modifications les plus importantes de cette version. Pour plus de détails, consultez l'annonce de publication sur le blog PhpStorm.