JetBrains dévoile maintenant ses plans pour PhpStorm 2023.1. Dans la première version de l'année 2023, l'éditeur de logiciels pour développeurs compte améliorer les performances et accélérer l'indexation, ajouter l'intégration de 3v4l, améliorer la prise en charge des génériques, ainsi que des balises PHPStan et Psalm. JetBrains veut aussi ajouter la prise en charge des projets multi-composers et multi-fournisseurs, et plus encore. Nous présentons ici un aperçu de ce qui est attendu dans la version 2023.1 de l'EDI PHP.
De meilleures performances pour le code PHP
JetBrains travaille toujours à l'amélioration des performances. Mais dans cette version, l'éditeur de logiciels pour développeurs fera plus d'efforts pour rendre PhpStorm beaucoup plus rapide. Il y a beaucoup de choses que JetBrains essaie d'améliorer, mais voici les principales initiatives.
Meilleure réactivité de l'EDI
Pour rendre l'expérience d'édition et d'interaction avec le code légère et fluide, JetBrains va corriger les blocages d'UI connus, améliorer la réactivité des menus et basculer certains calculs supplémentaires vers les threads d'arrière-plan.
Insights de code plus rapides
JetBrains s'efforcera d'accélérer la mise en évidence du code, l'indexation et les inspections gourmandes en ressources.
Plus d'actions disponibles pendant l'indexation
Pour que vous puissiez tirer le meilleur parti de PhpStorm, l'EDI doit d'abord indexer vos fichiers. Bien que JetBrains travaille à rendre l'indexation plus rapide, l'éditeur de logiciels pour développeurs prévoit également de permettre à davantage de fonctionnalités de s'exécuter pendant que l'indexation est toujours en cours.
Dans la prochaine version de PhpStorm, JetBrains va se concentrer sur la mise à disposition de la complétion à plus d'endroits pendant l'indexation, vous permettant d'exécuter des actions et même d'effectuer une navigation dans le code, comme Go to class, sur des index partiels.
Index partagés téléchargeables
Contrairement aux index réguliers, qui sont construits localement dans votre PhpStorm, les index partagés sont générés une fois et sont ensuite réutilisés sur un autre ordinateur chaque fois qu'ils sont nécessaires.
Par exemple, symfony/console est l'un des packages PHP les plus utilisés au monde. Pourquoi tout le monde devrait-il devoir recalculer son index encore et encore si nous pouvons juste l'indexer une seule fois et le partager ? C'est à cela que servent les index partagés.
JetBrains s'engage à essayer d'implémenter les index partagés pour les packages PHP dans cette version. Cependant, il s'agit d'une expérience, et même si cela peut apporter certains avantages dans certains scénarios, dans d'autres, cela peut n'apporter aucune amélioration. Voici quelques raisons à cela :
- JetBrains ne peut indexer que les packages les plus populaires et leurs versions les plus populaires ;
- sur certaines configurations, l'indexation locale peut être plus rapide que le téléchargement d'index partagés.
Dans tous les cas, vous pouvez générer vos propres index partagés pour vos projets privés.
Avec ces améliorations, JetBrains pense que l'indexation va créer moins d'interruption dans votre flux de travail.
Exécution d'extraits de code PHP sur 3v4l.org directement dans l'EDI
Dans la prochaine version de PhpStorm, vous pourrez tester votre code PHP via l'outil populaire 3v4l.org.
Comme il fonctionne sur toutes les versions de PHP, il est très pratique pour tester et comparer rapidement le comportement de certains codes.
Configuration automatique de l'installation locale
Actuellement, lorsque vous ouvrez un projet pour la première fois, vous devrez peut-être configurer certaines choses manuellement. Par exemple, vous devrez peut-être spécifier l'interpréteur PHP ou mettre en place des outils de qualité et d'autres intégrations tierces.
JetBrains aimerait automatiser autant que possible cette configuration pour vous. Idéalement, il vous suffirait d'ouvrir un projet et d'exécuter "composer install" à partir du terminal ou de PhpStorm, et le reste serait configuré pour vous.
Exécution des outils de qualité sur des fichiers de projet réels
Historiquement pour des raisons techniques, PhpStorm effectuait des analyses à la volée avec des outils tiers, tels que CodeSniffer, sur des copies temporaires de fichiers réels. C'était un moyen plus sûr et plus fiable de l'implémenter, mais l'inconvénient est que certaines fonctionnalités ne fonctionnaient pas comme prévu, par exemple la possibilité d'exclure des fichiers par chemin.
Dans la prochaine version, JetBrains va tenter d'exécuter des outils sur de vrais fichiers, ce qui éliminerait le besoin de solutions de contournement.
Chemins et références de classe cliquables pour la sortie var_dump() / dd() dans le terminal
JetBrains veut améliorer l'expérience de débogage pour les utilisateurs qui préfèrent l'approche "dump and die". Dans un premier temps, l'éditeur de logiciels a déjà créé des chemins de fichiers et des références de classe actifs. Cliquer dessus ouvrira le fichier correspondant dans l'éditeur.
Améliorations de la prise en charge des génériques
La prise en charge des génériques est traditionnellement l'une des fonctionnalités les plus souhaitables de PHP. Que cette fonctionnalité soit implémentée nativement en PHP ou non, JetBrains souhaite que les utilisateurs puissent pleinement bénéficier des génériques dans PhpStorm.
Dans cette version, l'éditeur de logiciels va donc améliorer les inspections pour les génériques et couvrir les cas extrêmes restants.
Prise en charge de toutes les balises PHPStan et Psalm
JetBrains souhaite également améliorer la prise en charge des balises PHPStan et Psalm. L'éditeur de logiciels a l'intention d'ajouter l'analyse syntaxique de toutes les balises existantes, l'inférence de type et une mise en surbrillance spéciale.
Par exemple, actuellement PhpStorm ne fait pas d'analyse syntaxique pour les balises suivantes : @param-out, @assert, @assert-if-false, @assert-if-true et environ 15 autres. Cela sera corrigé dans la prochaine version.
JetBrains prévoit également améliorer le support dans l'EDI pour certaines balises : @api, @immutable, @mutation-free, @no-named-arguments et @readonly.
Prise en charge des projets multi-composers et multi-fournisseurs
Actuellement, PhpStorm traite tout projet ouvert comme un espace unique. Cependant, les utilisateurs ont souvent plusieurs applications indépendantes dans le même projet, toutes avec leurs propres dépendances `composer.json`.
JetBrains souhaite implémenter la prise en charge de ces types de projets avec plusieurs fichiers `composer.json` et répertoires de fournisseurs. Cela vous permettra de définir différentes racines source, des répertoires de test et même différents niveaux de langage. Ainsi, l'un de vos services peut être sur PHP 7.4 tandis qu'un autre est sur PHP 8.2 - tous les deux dans le même projet ouvert dans une fenêtre PhpStorm.
Ajout du débogueur DFA (data flow analysis)
Les utilisateurs qui préfèrent Xdebug pour le débogage des applications PHP bénéficieront bientôt d'un support encore plus avancé. Le débogueur DFA vous permettra de voir les branches de code qui ne seront jamais exécutées. Mais ce qui est intéressant est que vous n'aurez pas besoin d'utiliser Step-into pour voir cela. Les conditions auront des valeurs calculées à l'avance.
Voyons comment cela fonctionne :
Vous pouvez voir que PhpStorm connaît le résultat des conditions avant que le code ne soit exécuté, vous pouvez donc avoir une idée de la situation dans le code sans aller plus loin.
Voici ainsi présenté un aperçu des nouveautés à venir dans PhpStorm 2023.1. Notons toutefois qu'il s'agit de plans préliminaires sujets à changement. JetBrains ne garantit pas que toutes les améliorations mentionnées seront intégrées dans la version 2023.1 de son EDI, mais y travaille pour que ce soit le cas.
Télécharger la dernière version de PhpStorm