Nouveautés de PhpStorm 2022.2

PhpStorm 2022.2 est une mise à jour majeure qui apporte la prise en charge de Mockery et de Rector, optimise la prise en charge des génériques et des enums, améliore le débogueur et le client HTTP, et bien plus.

Prise en charge de Mockery

PhpStorm 2022.2 introduces support for Mockery, the popular mock object framework. Sa prise en charge inclut notamment la saisie semi-automatique pour la plupart des fonctionnalités de Mockery, des inspections qui aident à améliorer le workflow, et plus encore.

Prise en charge de Rector

A second major addition in this release is support for Rector, the automation tool for managing PHP upgrades and bulk refactorings.

Vous pouvez désormais exécuter Rector depuis PhpStorm, vérifier les modifications apportées au fichier grâce à la vue diff pratique et gérer sa configuration en profondeur.

Génériques PHP

Nous poursuivons l'amélioration de la prise en charge des génériques dans cette version. Nous avons ajouté la prise en charge des valeurs minimales et maximales des entiers et amélioré la prise en charge des collections et de l'inférence de type pour les fermetures. Vous trouverez plus de détails sur ces modifications dans cet article de blog.

Mise en évidence des échecs d'assertions de test

Si l'une de vos assertions de test échoue, PhpStorm met en évidence la ligne où l'erreur s'est produite et vous permet de réexécuter le test à partir de cette ligne à l'aide de suggestions d'une nouvelle fenêtre contextuelle. Appuyez simplement sur Alt+Entrée au niveau de la ligne comportant l'erreur pour réexécuter le test.

Création d'enums

Il est désormais possible de créer des enums depuis la boîte de dialogue Create Class. Pour pouvoir utiliser cette option, assurez-vous que la version PHP de votre projet est bien 8.1 ou une version ultérieure.

Améliorations du débogueur

Nous avons introduit plusieurs améliorations à la fenêtre du débogueur afin que les données pertinentes restent toujours à portée de main.

Désormais, lors du débogage d'un objet, la pseudo-variable s'affiche toujours en haut du volet Variables :

De plus, le contenu d'un tableau est maintenant affiché dans la fenêtre des variables afin que vous n'ayez pas à l'ouvrir manuellement :

Enfin, dès qu'un objet implémente la méthode __toString(), la représentation textuelle de cet objet est également affichée dans le volet Variables.

URL cliquables

PhpStorm 2022.2 ajoute la prise en charge des URL cliquables dans plusieurs formats de fichier. Lorsqu'une URL est détectée dans un fichier PHP, JSON, YAML ou de propriétés, PhpStorm la met en évidence pour vous permettre de cliquer dessus et de l'ouvrir dans un navigateur.

Exécution des fichiers en cours

Nous avons introduit une version améliorée de la fonctionnalité Run Current File, disponible depuis le widget Run/Debug. Ce widget inclut désormais un menu secondaire qui propose les exécuteurs applicables, ainsi que l'action Run with Parameters, ce qui vous permet d'ajuster les paramètres de configuration de l'exécution avant d'exécuter le fichier.

Améliorations du client HTTP

Nous avons mis à jour notre client HTTP pour prendre en charge à la fois WebSockets et GraphQL.

Nous avons également amélioré l'expérience utilisateur de notre client HTTP : ainsi, vous pouvez maintenant sélectionner un environnement d'exécution en utilisant une icône de la gouttière.

Enfin, nous avons ajouté une barre d'état dans la vue Response.

Modification de la taille de police de l'éditeur

Il est désormais possible de modifier la taille de la police pour l'ensemble des onglets de l'éditeur en utilisant des raccourcis clavier. Nous avons également ajoutéun bouton Reset qui permet de rétablir la taille d'origine de la police.

Prise en charge des composants Angular autonomes

Nous avons activement travaillé à la prise en charge d'Angular 14 dans PhpStorm. L'ajout le plus important apporté dans cette version est la prise en charge des composants Angular autonomes. PhpStorm reconnaît désormais correctement les composants, directives et canaux signalés par standalone: true.

Mises à jour pour Vue 3

Notre prise en charge de Vue 3 avait du retard par rapport à certaines des mises à jour les plus récentes de Vue. Dans cette version, nous avons donc apporté plusieurs améliorations pour rattraper ce retard. Plusieurs d'entre elles, notamment la prise en charge de Vite, avaient déjà été incluses dans les mises à jour mineures de la version 2022.1. PhpStorm 2022.2 apporte également plusieurs correctifs. Par exemple, il comprend maintenant la réduction de type (narrowing) dans les directives v-if/else.

Prise en charge de TypeScript 4.7

PhpStorm 2022.2 est fourni avec TypeScript 4.7 et prend en charge de nouvelles fonctionnalités du langage telles que moduleSuffixes et ESM dans Node.js. Il insère automatiquement l'extension .js dans l'instruction d'importation si le module est défini sur node16 ou nodenext dans votre fichier tsconfig.json. En outre, PhpStorm prend en charge le champ typesVersions dans les fichiers package.json.

JetBrains Runtime

Dans cette version, nous sommes passés de JetBrains Runtime 11 (JBR11) à JetBrains Runtime 17 (JBR17). Les conséquences sont les suivantes :

  • Une amélioration significative des performances qui permet à l'IDE de fonctionner plus rapidement et de manière plus fluide.
  • Une meilleure sécurité, JBR17 étant basé sur la dernière version LTS d'OpenJDK.
  • Better rendering performance on macOS, as JetBrains Runtime 17 leverages the Metal API.
  • Increased accessibility on macOS, as JBR17 features integration with the VoiceOver screen reader.
  • Further performance improvements thanks to the usage of the Vector API.

Table des matières pour Markdown

Nous avons cherché à améliorer encore notre prise en charge de Markdown. Dans cette version, nous inaugurons une action Generate Table of Contents qui permet de créer une table des matières pour vos fichiers Markdown beaucoup plus facilement. Il vous suffit d'utiliser Alt+Inser, qui affiche la fenêtre contextuelle Insert…, et de sélectionner ensuite Table Of Contents pour générer automatiquement la table des matières.