PhpStorm 2022.3 est une mise à jour majeure qui apporte notamment l'accès à la nouvelle interface utilisateur en preview, la prise en charge de PHP 8.2, Code Vision pour PHP, la prévisualisation des correctifs rapides, des améliorations pour Xdebug, la prise en charge de ParaTest, la vue rendue pour PHPDoc et Redis dans les outils de base de données.
La toute nouvelle interface utilisateur est maintenant disponible pour tous. Elle est désactivée par défaut car elle en est encore au stade Bêta/Preview.
Vous pouvez l'activer dans Settings/Preferences | Appearance & Behavior | New UI Preview.
Cette nouvelle interface utilisateur est épurée afin de réduire les distractions et fonctionne plus rapidement tout en vous permettant de conserver la plupart des habitudes que vous aviez avec la précédente interface.
Cette version apporte de nombreuses autres améliorations visuelles. Voici les plus significatives d'entre elles.
Dans l'éditeur, à côté du code PHP, vous pouvez voir des informations supplémentaires sur les symboles PHP : classe, trait, interface, méthode ou fonction.
Le nombre d'utilisations est visible, pas besoin de cliquer sur un symbole pour le découvrir.
Pour les classes et les interfaces, vous verrez le nombre d'héritiers et d'implémentations, respectivement.
Vous obtiendrez également des informations de Git sur les personnes qui ont apporté le plus de modifications à une certaine partie du code, ce qui vous permettra d'identifier rapidement qui est le propriétaire du code et a la plus grande connaissance de cette partie du code.
Vous pouvez corriger automatiquement certains problèmes de code en appuyant sur Alt+Entrée.
Vous pouvez désormais prévisualiser un correctif rapide ou une intention avant de l'appliquer et ainsi voir instantanément leur impact sur votre code.
Dans PhpStorm 2022.3, vous pouvez modifier l'apparence des blocs PHPDoc avec une option qui offre un meilleur rendu et la prise en charge de la mise en forme HTML. Cela rend la lecture de code ayant beaucoup d'annotations plus facile et agréable.
Pour activer la nouvelle vue rendue, cliquez sur l'icône dans la gouttière à côté d'un bloc PHPDoc.
Pour activer le rendu de tous les commentaires PHPDoc, faites un clic droit sur l'icône de la gouttière et choisissez Render All Doc Comments.
Si vous appuyez sur Ctrl+Q sur une fonction, une classe ou une méthode, PhpStorm affiche la documentation directement dans l'éditeur.
Cette fenêtre contextuelle a été considérablement remaniée. Désormais, vous n'avez plus besoin de basculer sur le navigateur pour chercher de la documentation, car tout se trouve dans votre IDE.
PhpStorm 2022.3 fournit une prise en charge complète de PHP 8.2. La plupart des changements apportés à l'IDE s'intégreront de manière organique dans votre workflow PhpStorm, nous n'aborderons donc que les nouvelles fonctionnalités à connaître.
Une classe readonly est un moyen rapide de déclarer une classe qui n'a que des propriétés readonly. Vous pouvez utiliser ces classes pour garantir que les données ne soient pas modifiées après leur initialisation.
Pour les classes readonly, PhpStorm fournit :
L'accès à des propriétés qui n'existent plus dans PHP 8.2 générera un avertissement d'obsolescence.
PhpStorm met en évidence ces utilisations et fournit des correctifs rapides pour les erreurs, soit en ajoutant la propriété, soit en utilisant l'attribut #[AllowDynamicProperties]
.
PHP 8.2 fournit la prise en charge des types de formes normales disjonctives, ainsi que les types null
, true
et false
autonomes. Nous avons également ajouté la prise en charge de tous ces types dans PhpStorm.
PHP 8.2 introduit quelques obsolescences supplémentaires et PhpStorm fournit les inspections correspondantes afin de les repérer et des correctifs rapides pour actualiser votre code.
${}
obsolètePour utiliser une variable à l'intérieur d'une chaîne de caractères, il y avait trois méthodes d'interpolation. L'une d'entre elles est désormais signalée comme obsolète et sera supprimée à l'avenir.
PhpStorm mettra en évidence les occurrences et vous pourrez utiliser un correctif rapide via Alt+Entrée pour mettre le code à niveau.
Plusieurs façons d'appeler des fonctions sont devenues obsolètes avec PHP 8.2.
PhpStorm met en évidence le code non valide et vous pouvez utiliser un correctif rapide Alt+Entrée pour mettre votre code à niveau.
PhpStorm peut analyser l'ensemble de votre base de code en une fois pour détecter tous les problèmes éventuels. Allez dans Code | Analyze Code | Run Inspection by Name, puis recherchez « dynamic property » par exemple, et PhpStorm fera le reste.
Une itération préliminaire de la très attendue prise en charge de Redis a été implémentée.
Si vous rencontrez des difficultés pour configurer Xdebug, voici quelques-unes des choses que vous pouvez faire dans PhpStorm pour identifier le problème.
phpinfo()
Ajoutez un appel phpinfo()
à votre script ou page PHP et copiez la sortie de la fonction que vous voyez dans votre navigateur. Puis, appelez Run / Web Server Debug Validation et une boîte de dialogue vous permettre de coller la sortie de phpinfo()
de l'étape précédente.
PhpStorm analysera la configuration du serveur et détectera les problèmes les plus courants.
If the phpinfo()
information didn’t help, you can use PhpStorm’s validation script on the server.
Xdebug 3.2 possède une étape de débogage supplémentaire « return from function » qui vous permet d'inspecter la valeur de retour.
et PhpStorm 2022.3 prend en charge cette nouvelle fonctionnalité. Pour la déclencher, utilisez Step Into lorsque vous êtes sur la dernière instruction dans la fonction. Une variable supplémentaire s'affichera alors dans Watches.
La prise en charge des tests parallèles dans PhpStorm tant attendue est enfin disponible !
Pour exécuter des tests en parallèle, cochez l'option Use Paratest dans la configuration Run de vos tests et vérifiez que le chemin d'accès au binaire de ParaTest est correctement défini. Normalement, si vous avez ajouté ParaTest dans votre composer.json
, le chemin d'accès ressembler à cela : ./vendor/bin/paratest_for_phpstorm
.
Il est désormais possible de choisir un outil de formatage externe dans Preferences | PHP | Quality Tools. You can now use FriendsOfPHP/PHP-CS-Fixer or squizlabs/PHP_CodeSniffer for this purpose.
A popular task runner for PHP, Robo, received the following extended support:
If you use the Prophecy mocking framework in your tests, working with it in PhpStorm will now be easier.
Vous n'avez plus besoin de vous souvenir des formats date()
ou de les chercher. Dans PhpStorm 2022.3, le survol d'une chaîne de format de date affiche une info-bulle avec un exemple de date.
De plus, lors de la modification d'une chaîne de format de date, vous bénéficiez de la saisie semi-automatique avec des conseils pour tous les caractères reconnus comme paramètres de format.
Support for array shape annotations was added in PhpStorm 2021.2, then in 2022.1, we added multiline and nested syntax support for array shapes.
La pièce manquante est fournie dans PhpStorm 2022.3 : vous bénéficierez de la saisie semi-automatique du code pour tous les éléments de forme de tableau dans les boucles.
Nous avons fusionné deux anciennes solutions de synchronisation (IDE Settings Sync et Settings Repository) en une seule : Settings Sync. Elle vous permet de synchroniser de manière fiable les paramètres entre différents IDE et machines.
Si vous n'utilisiez pas de solution de synchronisation des paramètres auparavant, mais que vous voulez essayer cette nouvelle solution, vous pouvez l'activer dans Settings / Preferences | Settings Sync | Enable Settings Sync.
Vous pouvez configurer ce type de connexion dans Settings / Preferences | Build, Execution, Deployment | Docker.
Appelez les actions contextuelles (Alt-Entrée) sur le nom de l'image mise en évidence, puis cliquez sur Pull Docker image pour obtenir une image requise sans l'exécuter à partir de Dockerfile, docker-compose.yml, ou même à partir de tests utilisant Testcontainers.
Bénéficiez de la mise en évidence et de la saisie semi-automatique du code dans les fichiers .dockerignore.
Utilisez des scripts multilignes directement dans vos Dockerfiles.
Set up additional Docker connections using Docker Contexts by calling the Add Service context menu in the Services view and selecting Docker Connections From Docker Contexts.
Le client HTTP offre maintenant de meilleures options de formatage pour les requêtes avec de longues URL. Vous pouvez également utiliser l'action contextuelle Put query parameters on separate lines pour diviser la requête en fragments sur plusieurs lignes.
Le client HTTP prend désormais en charge les blocs de script qui sont exécutés avant les requêtes. Vous pouvez générer certaines données avant l'exécution de la requête et les passer à la requête suivante à l'aide de variables.
PhpStorm fournit maintenant l'API сrypto et peut donc calculer les valeurs de hachage md5 ou sha1 pour une requête HTTP.
D'autres fonctions aléatoires sont maintenant disponibles, ce qui est pratique pour tester rapidement les API.
L'assistant New Project disponible sur l'écran Welcome de PhpStorm inclut désormais des modèles de projets pour Vite et Next.js. Nous avons également actualisé le modèle de projet pour Vue afin de nous assurer qu'il réponde aux dernières normes.
Les conseils d'insertion de Code Vision fonctionnent désormais aussi pour JavaScript et TypeScript. Ils faciliteront le suivi des utilisations de différentes classes, méthodes, alias de type et interfaces dans votre code.
PhpStorm peut désormais gérer les importations non résolues et faire des suggestions pour l'importation de composants Vue. Il prend aussi en charge la syntaxe de déstructuration des props, améliore le comportement de la saisie semi-automatique du code et la vérification des types pour les props des composants de la bibliothèque Vue, et corrige plusieurs problèmes liés à Nuxt 3.
PhpStorm now supports Vitest, a Vite-native unit test framework! Vous pouvez exécuter, réexécuter et déboguer vos tests de toutes les principales manières possibles, y compris en utilisant l'icône de gouttière. De plus, le mode watch est activé par défaut avec le scénario All tests. Les tests des instantanés et leur couverture sont également pris en charge en mode watch, ce qui vous permet d'obtenir un retour d'information quasi instantané sur la couverture lorsque vous codez.
Ces évolutions sont les plus importantes de cette version, mais il y en a beaucoup d'autres. Consultez l'annonce de la nouvelle version sur le blog de PhpStorm pour consulter la liste complète des améliorations apportées par cette version.