Les points clés de cette version incluent :
xdebug_notify()
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.
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 :
get
et set
. get
et set
avec l'insertion des corps des hooks de propriétés. get
et set
pour une propriété via une action Generate similaire à Generate | Getters and Setters. 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 :
set
supérieure à celle de la visibilité principale (get
). final
redondants pour les propriétés private (set)
. set
. 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()
.
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.
Nous avons 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.
Pour plus d'informations sur le nouveau LLM de JetBrains, consultez cet article.
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é.
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).
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+/.
Dans cette mise à jour, nous avons 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.
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'IDE. Cela simplifie votre workflow et garantit que vos descriptions sont claires et concises.
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.
Vous trouverez ici le détail des mises à jour de l'AI Assistant de JetBrains.
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.
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.
PhpStorm 2024.3 améliore de façon significative l'expérience du framework de test Pest pour les développeurs Laravel. Nous avons 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 IDE.
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'IDE dispose également de Xdebug 3.0+.
Pour plus de détails, reportez-vous à la documentation de PhpStorm.
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.
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.
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.
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.
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.
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'IDE 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.
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'IDE. Pour ce faire, naviguez jusqu'à Editor | Inspections, développez la section SQL et sélectionnez Excessive JOIN count.
Pour améliorer la visibilité de la pagination de la grille dans notre éditeur de données, nous avons déplacé le contrôle correspondant de la barre d'outils en bas au centre de l'éditeur de données.
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.
Nous avons 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 . Nous avons é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.
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. Nous avons 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é.
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.
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.