PhpStorm 2024.3 disponible :
Prise en charge de PHP 8.4, interpréteur PHP de Laravel Herd, améliorations de l'AI Assistant, et bien d'autres nouveautés

JetBrains annonce la sortie de PhpStorm 2024.3, la troisième mise à jour majeure de son EDI pour le développement web en PHP. Cette version vient avec un bon lot de nouveautés et améliorations dans divers domaines, incluant :

  • La prise en charge de PHP 8.4
  • Des améliorations de l'AI Assistant
  • La prise en charge de xdebug_notify()
  • L'interpréteur PHP de Laravel Herd

Nous allons ici présenter en détail les principales nouveautés et améliorations de PhpStorm 2024.3.

Prise en charge de PHP 8.4

PhpStorm 2024.3 regorge de nouvelles inspections et de correctifs rapides pour vous assurer une mise à niveau fluide vers les nombreuses fonctionnalités de PHP 8.4. Vous trouverez ci-dessous une vue d'ensemble de la prise en charge des nouvelles fonctionnalités PHP 8.4 dans votre workflow PhpStorm.

Hooks de propriétés

Représentant l'un des plus grands changements dans l'histoire moderne de PHP, les hooks de propriétés sont conçus pour éliminer les getters et setters du code standard en vous permettant d'implémenter les hooks get et set pour les propriétés.

Pour les hooks de propriétés (avec notamment les hooks de propriétés dans les propriétés promues), PhpStorm apporte :

  • Un correctif rapide remplaçant les getters et les setters par des hooks de propriétés get et set.
  • Une action d'intention pour ajouter des hooks de propriétés aux propriétés.
  • La saisie semi-automatique de code pour les mots-clés get et set avec l'insertion des corps des hooks de propriétés.
  • La possibilité de générer les hooks get et set pour une propriété via une action Generate similaire à Generate | Getters and Setters.
  • La détection automatique des hooks de propriétés qui peuvent être convertis en notation abrégée et correctif rapide pour leur conversion.
  • Des vérifications pour garantir la bonne utilisation de la syntaxe et de la logique des hooks de propriétés.

Visibilité asymétrique

La visibilité asymétrique permet de différencier la visibilité en fonction des opérations de lecture et d'écriture.

PhpStorm 2024.3 permet d'assurer l'implémentation correcte des périmètres de visibilité asymétrique dans votre code en fournissant des vérifications et des correctifs rapides pour les aspects suivants :

  • Modificateurs redondants de visibilité asymétrique.
  • Tentatives visant à rendre la visibilité d'une propriété set supérieure à celle de la visibilité principale (get).
  • Modificateurs final redondants pour les propriétés private (set).
  • Tentatives visant à réduire la visibilité des propriétés dans les propriétés héritées.
  • Tentatives de modification de la propriété de visibilité asymétrique en dehors du périmètre de visibilité set.


Nouvelles fonctions de tableau

Vous pouvez utiliser PhpStorm 2024.3 pour convertir les boucles foreach en l'une des nouvelles fonctions PHP 8.4 : array_find(), array_find_key(), array_any() ou array_all().

new sans parenthèses

PhpStorm 2024.3 permet de se dispenser des parenthèses autour de l'expression new dans les constructions du type (new MyClass())->method().

AI Assistant (plugin)

Veuillez noter que les fonctionnalités de l'AI Assistant ne sont disponibles qu'avec un abonnement AI Pro ou dans la version d'essai.

Nouveau modèle de saisie semi-automatique de code de JetBrains pour PHP

JetBrains a considérablement amélioré la qualité et réduit la latence de la saisie semi-automatique de code assistée par IA pour PHP. Ces améliorations sont générées par Mellum, le nouveau LLM propriétaire de JetBrains, conçu pour les développeurs et optimisé pour une saisie semi-automatique du code basée sur le cloud plus rapide, intelligente et sensible au contexte.

Mise en évidence de la syntaxe pour le code suggéré

Les suggestions de saisie semi-automatique de code inline incluent désormais la mise en évidence des éléments de syntaxe, ce qui en améliore la lisibilité.

Acceptation incrémentale des suggestions de code

Les suggestions de code sur plusieurs lignes peuvent désormais être acceptées d'un bloc (en appuyant sur la touche de tabulation) ou progressivement, mot par mot (Ctrl+→) ou ligne par ligne (Fin).

Prompts d'IA inline

Avec les nouveaux prompts d'IA inline, l'AI Assistant est en mesure de détecter et traiter les requêtes en langage naturel au fur et à mesure que vous les saisissez directement dans l'éditeur. Il interprète immédiatement les requêtes et génère le code suggéré sans avoir à passer par des étapes supplémentaires.

PhpStorm place une marque en violet dans la gouttière à côté des lignes modifiées par l'AI Assistant pour vous permettre de voir facilement ce qui a été mis à jour. Si vous n'aimez pas l'une des suggestions, vous pouvez modifier le prompt d'origine en cliquant sur le bloc violet dans la gouttière ou en appuyant sur Ctrl+/.


Gestion du contexte améliorée

Dans cette mise à jour, JetBrains a amélioré la transparence et l'intuitivité de la gestion du contexte pris en compte par l'AI Assistant dans ses suggestions. Une interface utilisateur remaniée vous permet d'afficher et de gérer chaque élément inclus en tant que contexte, pour une visibilité et un contrôle complets. Le fichier ouvert et tout le code sélectionné qu'il contient sont désormais automatiquement ajoutés au contexte, et vous pouvez facilement ajouter ou supprimer des fichiers selon vos besoins, en personnalisant le contexte pour l'adapter à votre workflow. Vous pouvez en outre attacher des instructions à l'échelle du projet pour cadrer les réponses de l'AI Assistant dans toute votre base de code.

Génération de titres et de descriptions pour les requêtes d'extraction et de fusion

L'AI Assistant permet désormais de générer des titres et des descriptions précis pour vos requêtes d'extraction et de fusion directement à partir de l'EDI. Cela simplifie votre workflow et garantit que vos descriptions sont claires et concises.

Traitement des erreurs SQL par l'AI Assistant

Quelques nouvelles actions utiles pour gérer les erreurs d'exécution des requêtes SQL avec l'AI Assistant sont accessibles dans la zone des messages d'erreur. Explain with AI ouvre le chat avec l'IA en affichant le prompt automatiquement envoyé et la réponse de l'AI Assistant contenant une explication de l'erreur. L'action Fix with AI génère un correctif pour l'erreur d'exécution de la requête dans l'éditeur.

Débogage

Prise en charge de xdebug_notify()

Pour aller plus loin lors de votre expérience de débogage PHP, PhpStorm offre une solution structurée permettant de traiter la sortie de la fonction xdebug_notify().

Introduits dans Xdebug 3.1, les appels xdebug_notify() vous permettent de transférer sélectivement des variables à la console de débogage dans PhpStorm.

Écosystème Laravel

Interpréteur PHP de Laravel Herd dans PhpStorm

Pour les développeurs Laravel utilisant Laravel Herd, PhpStorm 2024.3 détecte automatiquement le chemin de l'exécutable PHP de Laravel Herd sur votre machine. Pour utiliser cet interpréteur dans PhpStorm, allez dans les paramètres de l'interpréteur de ligne de commande (PHP | CLI interpreter | …), puis dans la boîte de dialogue CLI Interpreters qui s'ouvre, sélectionnez l'exécutable PHP dans la liste des options préconfigurées.


Améliorations du framework Pest

PhpStorm 2024.3 améliore de façon significative l'expérience du framework de test Pest pour les développeurs Laravel. JetBrains a implémenté la prise en charge de Pest 3.0 et la possibilité d'exécuter des tests de mutation et en parallèle utilisant Pest directement dans votre EDI.

Tests de mutation avec Pest 3.0

La dernière version de Pest 3.0 a introduit les tests de mutation, qui génèrent de petites modifications du code pour vérifier si les tests les détectent correctement.

Vous pouvez déclencher l'option Run Tests (Pest) with Mutation de Pest dans PhpStorm 2024.3, comme toute autre option de test, directement dans l'éditeur, depuis la fenêtre d'outils Project, ou via une configuration Run/Debug et utiliser la fenêtre d'outils Pest Mutation dédiée pour inspecter les résultats des tests.

Assurez-vous simplement que l'interpréteur PHP utilisé dans l'EDI dispose également de Xdebug 3.0+.


Tests parallèles avec Pest

Dans PhpStorm 2024.3, vous n'avez plus besoin de basculer vers le terminal pour exécuter les tests Pest en mode parallèle. Naviguez simplement jusqu'au fichier de test et sélectionnez Run Tests (Pest) in Parallel dans l'icône de gouttière de l'éditeur, depuis le menu contextuel dans la fenêtre d'outils Project ou depuis une configuration Run/Debug.


Systèmes de contrôle de version

Résolution des conflits de fusion des instructions d'importation

PhpStorm peut maintenant résoudre automatiquement les conflits de fusion dans les instructions d'importation. Pour activer cette fonctionnalité, sélectionnez l'option Resolve conflicts in import statements dans la boîte de dialogue de fusion sous l'icône d'engrenage, ou allez dans Settings | Tools | Diff & Merge et sélectionnez Automatically resolve conflicts in import statements.

Mises à jour de Find in Files

La fonctionnalité Find in Files a été améliorée avec l'ajout d'une nouvelle portée de recherche, Project Files Excluding Git-Ignored. Cette option exclut de vos résultats de recherche tous les fichiers ignorés dans les fichiers .gitignore, ce qui vous permet de vous concentrer uniquement sur le code pertinent lorsque vous faites des recherches dans votre projet.

Option de désactivation des vérifications préalables au commit en arrière-plan

Vous pouvez désormais gérer les vérifications en arrière-plan pendant le processus de commit grâce à la nouvelle option Run advanced checks after a commit is done sous Settings | Version Control | Commit. Ce paramètre vous permet de décider si les tests et les inspections doivent être exécutés après l'envoi d'un commit. Si vous souhaitez que ces vérifications soient effectuées avant le commit, il vous suffit de le désactiver.

Nom de la branche sur l'écran d'accueil

L'écran d'accueil affiche désormais le nom de la branche pour vous aider à rester organisé lorsque vous gérez plusieurs versions de projet et vous permettre de basculer facilement entre les répertoires de travail.

Outils de base de données

Introspection de fragments et actualisation intelligente pour MySQL et MariaDB

PhpStorm prend désormais en charge l'introspection de fragments. Auparavant, l'introspecteur ne pouvait effectuer qu'une introspection complète des schémas dans les bases de données MySQL ou MariaDB et ne pouvait pas actualiser les métadonnées d'un seul objet. Chaque fois qu'une instruction DDL était exécutée dans la console et que cette exécution pouvait modifier un objet dans le schéma de la base de données, l'EDI lançait une introspection complète de l'ensemble du schéma. Cela prenait du temps et pouvait souvent interrompre le workflow.

Maintenant, PhpStorm est en mesure d'analyser une instruction DDL, de déterminer quels objets sont affectés par cette dernière et de n'actualiser que ceux-ci. Si vous sélectionnez un seul élément dans Database Explorer et que vous appelez l'action Refresh, un seul objet sera actualisé, au lieu du schéma entier comme c'était le cas auparavant.

Inspection d'un nombre excessif de clauses JOIN

Dans certains cas, l'exécution d'une requête contenant un nombre excessif de clauses JOIN n'est pas recommandée car cela peut nuire aux performances. L'éditeur peut désormais identifier et mettre en évidence ces requêtes. Vous pouvez activer cette inspection dans les paramètres de l'EDI. Pour ce faire, naviguez jusqu'à Editor | Inspections, développez la section SQL et sélectionnez Excessive JOIN count.

Barre d'outils de pagination flottante

Pour améliorer la visibilité de la pagination de la grille dans son éditeur de données, JetBrains a déplacé le contrôle correspondant de la barre d'outils en bas au centre de l'éditeur de données.


Frontend

Des résultats de recherche plus propres pour les répertoires

PhpStorm exclut désormais les résultats node_modules par défaut lors de l'utilisation de Find in Files dans les répertoires du projet, ce qui réduit l'encombrement dû aux fichiers non pertinents. Vous pouvez restaurer le comportement précédent en activant l'option Search in library files when "Directory" is selected in Find in Files dans Settings | Advanced Settings.

Amélioration de la navigation et du renommage des composants de framework

JetBrains a amélioré les indications dans l'éditeur pour les composants Vue, Svelte et Astro. L'action Show component usages recherche désormais les utilisations dans les importations et les modèles de balisage. L'éditeur de logiciels pour développeurs a également ajouté un filtre Show Component Usages pour exclure les utilisations des composants lors de la recherche de références de fichiers standard. La refactorisation Rename a également été dotée d'une option permettant d'inclure les utilisations lors du renommage d'un fichier de composant.

Aperçu des couleurs pour les classes CSS Tailwind

L'aperçu des couleurs pour les classes CSS Tailwind s'affiche désormais inline dans l'éditeur, ce qui facilite la distinction des couleurs. JetBrains a ajouté la prise en charge de la méthode textDocument/documentColor du Language Server Protocol (LSP), de sorte que tous les plugins basés sur LSP offrent désormais automatiquement cette fonctionnalité.

Améliorations pour Angular

Pour les projets avec Angular 19, PhpStorm passe désormais par défaut en mode autonome pour les composants, les directives et les pipes. Des correctifs rapides ont été ajoutés pour faciliter la conversion entre les composants autonomes et non autonomes. Les importations autonomes inutilisées peuvent être automatiquement supprimées lors de la mise en forme du code ou à l'aide d'une nouvelle inspection. La prise en charge de la syntaxe @let a également été améliorée.


Interface utilisateur

Mise en évidence de toutes les occurrences du texte sélectionné

Par défaut, PhpStorm va désormais automatiquement mettre en évidence toutes les instances du texte que vous sélectionnez dans un fichier. Cela facilite le suivi de l'endroit où le texte sélectionné apparaît dans votre code. Si vous préférez le comportement précédent, vous pouvez désactiver cette fonctionnalité dans Settings | Editor |General | Appearance.

Nouveautés et téléchargement de PhpStorm 2024.3