Nouveautés de PhpStorm 2024.1

Les points clés de cette version incluent :

  • Fonctionnalité de saisie semi-automatique de code en ligne entière avec IA locale
  • Prise en charge de Symfony AssetMapper
  • Nouveau terminal
  • Améliorations pour Pest
  • Prise en charge de PHPUnit 11.0

Saisie semi-automatique du code en ligne entière avec IA locale

Il est désormais possible d'utiliser la saisie semi-automatique en ligne entière pour le code PHP, ainsi que pour JavaScript, TypeScript et HTML, même lorsque vous n'avez pas accès à Internet. Avec cette fonctionnalité de complétion en ligne entière, le LLM local traite et analyse les données directement sur votre machine, ce qui permet de bénéficier d'une saisie semi-automatique ultra-rapide hors connexion, avec une latence minimale.

Cette approche permet non seulement d'éviter que le code généré ne contienne de variables ou de méthodes non existantes, mais aussi d'assurer la confidentialité de vos données du fait de l'absence de connexion à des serveurs externes. Cette fonctionnalité fait partie du forfait payant de PhpStorm et ne nécessite donc aucune licence supplémentaire.

Saisie semi-automatique du code avec IA locale

Prise en charge de Symfony AssetMapper

Prise en charge de Symfony AssetMapper

Vous pouvez désormais installer les modules et paquets manquants via importmap.php et utiliser la complétion complète du code pour leurs classes et méthodes.

Nouveau terminal Bêta

Nous vous invitons à essayer le nouveau terminal. Vous pouvez passer de l'ancien au nouveau terminal via Settings | Tools | Terminal | Enable New Terminal.

Actuellement, il prend seulement en charge Bash, Zsh et PowerShell. La prise en charge d'autres shells est en cours de développement.

Lignes figées dans l'éditeur

Cette fonctionnalité conserve des éléments structurels clés, tels que les débuts de classes ou de méthodes, épinglés en haut de l'éditeur pendant que vous faites défiler l'écran. Les portées restent ainsi toujours visibles et vous pouvez naviguer rapidement dans le code en cliquant sur une ligne épinglée.

Améliorations pour Pest

Nous avons amélioré la navigation entre les tests et les méthodes dans le menu d'action Go to, ainsi que la navigation entre les tests dupliqués et les attentes personnalisées lors de l'utilisation de correctifs rapides. De plus, nous avons corrigé les problèmes de navigation qui survenaient lors de l'ouverture du code source d'un test depuis la fenêtre d'outils Run.

Une autre nouveauté réside dans la capacité à générer des tests Pest pour les classes et les méthodes PHP et de créer de nouveaux tests Pest à partir du menu Intention actions.

Nous avons également ajouté une nouvelle inspection pour simplifier les appels à certaines méthodes assert de Pest.

Prise en charge de PHPUnit 11.0

PhpStorm prend désormais en charge l'exécution des tests avec PHPUnit 11. Si l'IDE détecte des attributs obsolètes dans le fichier de configuration, il affiche désormais les notifications correspondantes pour les utilisateurs et fournit un correctif rapide qui met automatiquement à jour le fichier de configuration vers la nouvelle version.

De plus, une nouvelle inspection et un correctif rapide ont été ajoutés pour les méthodes TestCase obsolètes lors de la création d'objets de configuration de stubs de retour.

Nous avons aussi modifié l'inspection Deprecated usage of data providers afin qu'elle émette un avertissement lorsque PHPUnit 11 est utilisé et supprimé l'option --cache-result-file lors du démarrage de tests.

Améliorations pour dd, var_dump, et symfony/var-dumper

Il est désormais possible d'ouvrir les liens des classes et des fichiers directement dans l'éditeur et de plier/déplier les structures dans la sortie de la console.

Vérification des paquets PHP vulnérables dans composer.json

PhpStorm utilise désormais une inspection dans le fichier composer.json pour vérifier les paquets PHP de votre projet par rapport à la base de données Checkmarx et mettre en évidence les plus vulnérables.

Rsync : prise en charge dans le WSL

Vous pouvez désormais utiliser le chemin distribution WSL pour l'outil rsync qui sera utilisé lors du déploiement.

Mises à jour pour le frontend

Fichiers Vue, Svelte et Astro

Occurrences des composants pour Vue, Svelte et Astro

PhpStorm fournit désormais dans l’éditeur des indications concernant les occurrences de composants pour les fichiers Vue, Svelte et Astro pour vous aider à localiser rapidement toutes les utilisations d'un composant spécifique dans un projet.

Widget Language Services

Vous trouverez le nouveau widget Language Services dans la barre d’état. Il fournit des informations sur les services de langage actifs pour le fichier et le projet en cours. Vous pouvez redémarrer les services ou accéder à leurs paramètres directement à partir de ce widget.

Autres améliorations

Possibilité de réduire l'échelle de l'IDE entier

Vous pouvez maintenant zoomer et dézoomer sur l'interface, avec la possibilité de réduire l’échelle de l’IDE à 90 %, 80 % ou 70 %.

Meilleure prise en charge du type class-string

PhpStorm fournit maintenant la complétion de méthode statique pour les entités de type class-string.

Révision du code dans l'éditeur

PhpStorm 2024.1 améliore l’expérience de révision du code pour les utilisateurs de GitHub et de GitLab grâce à l’implémentation d'un nouveau mode de révision. Intégrée dans l'éditeur, cette fonctionnalité facilite les interactions directes entre auteurs et réviseurs. Lors de la vérification de la branche de la requête d'extraction/fusion, le mode révision s'active automatiquement et des marqueurs roses apparaissent dans la gouttière pour indiquer les modifications de code à réviser. Une fenêtre contextuelle avec le code original s'affiche lorsque vous cliquez sur ces marqueurs, ce qui permet d’identifier rapidement ce qui a été modifié. Les icônes de la gouttière permettent de lancer rapidement de nouvelles discussions, ainsi que d'afficher et de masquer les discussions existantes. Elles offrent également un accès facile aux commentaires, pour en prendre connaissance, y répondre et y réagir rapidement.

Filtrage local dans l’éditeur de données

Cette version introduit la très attendue fonctionnalité de filtrage local dans l'éditeur de données. Vous pouvez désormais filtrer rapidement les lignes par valeurs de colonne sans envoyer de requêtes à la base de données. Ces filtres locaux s'appliquent uniquement à la page actuelle, mais vous pouvez ajuster la taille de la page ou récupérer toutes les données si vous devez d'étendre leur portée. Pour désactiver tous les filtres locaux, désélectionnez l'icône Enable Local Filter.