Voici les points clés de cette mise à jour :
L'AI Assistant est maintenant disponible pour tous, avec de nombreuses nouveautés et fonctionnalités améliorées pour rendre votre travail avec les IDE de JetBrains encore plus productif.
L'AI Assistant peut maintenant générer des blocs de code multilignes pour vous. Commencez simplement votre saisie sur une nouvelle ligne, et si une suggestion de LLM est disponible, un extrait de code grisé s'affichera. Pour accepter la suggestion, appuyez sur Tab.
Actuellement, ce type de suggestions est disponible dans les contextes de classes ou dans les définitions de fonctions.
L'AI Assistant peut également générer des tests pour les méthodes de vos classes. Placez le curseur sur la méthode de classe devant faire l'objet de tests unitaires, appuyez sur Alt+Entrée, sélectionnez AI Assistant et choisissez Generate Unit Tests.
Auparavant, vous pouviez utiliser le chat IA pour générer des extraits de code. Désormais, vous disposez de l'action AI Assistant | Generate code…, qui ouvre une fenêtre de prompt dans l'éditeur. Il vous sera alors demandé de saisir une description du code que vous souhaitez générer. L'AI Assistant vous fera des suggestions, que vous pouvez accepter en partie ou en totalité.
Lorsque vous exécutez un script PHP, une configuration d'exécution ou une action Composer, il arrive qu'une erreur se produise et que la tâche échoue. L'AI Assistant peut vous aider à déterminer l'origine du problème. Cliquez sur le bouton Explain with AI dans une trace de pile ou un message d'erreur pour obtenir une explication générée par IA.
Utilisez l'AI Assistant dans WebStorm en tant que fonctionnalité supplémentaire en vous abonnant à JetBrains AI Service.
PhpStorm now supports the Pest test framework out of the box. We recently agreed with the original author of the Pest plugin to take over its development and bundle it in PhpStorm. You can read the details in our recent blog post.
Comme c'est le cas avec les tests PHPUnit, vous pouvez maintenant lancer des tests Pest directement depuis PhpStorm. Si vous placez votre curseur dans un test et ouvrez la fenêtre d'exécution, une configuration d'exécution sera créée pour ce test spécifique. Vous pouvez placer le curseur dans le fichier, mais pas dans un test en particulier, pour déclencher tous les tests dans ce fichier.
Grâce à cette nouvelle prise en charge de Pest, vous pouvez écrire des assertions en appelant des fonctions ou des méthodes sur $this
. Elle améliore également la saisie semi-automatique dans les fonctions de tests, afin que vous puissiez voir les assertions disponibles au fur et à mesure de votre saisie.
Dans Pest, vous pouvez écrire des attentes personnalisées pour réduire les vérifications standard dans vos tests. PhpStorm peut vous aider à trouver les utilisations des attentes personnalisées et à les renommer.
PhpStorm 2023.3 fournit une prise en charge complète de PHP 8.3. La plupart des changements pris en charge l'IDE s'intégreront naturellement à votre workflow PhpStorm, sans même que vous ne les remarquiez, nous n'évoquons donc ici que les nouvelles fonctionnalités à connaître pour pouvoir en bénéficier.
#[\Override]
PHP 8.3 introduit le nouvel attribut #[\Override]
, qui permet d'afficher explicitement votre intention lors du remplacement d'une méthode. Le moteur PHP est capable de vérifier si une méthode marquée avec #[\Override]
remplace réellement la méthode parent et de lever une exception si ce n'est pas le cas. PhpStorm 2023.3 vous avertit de ces cas à l'avance.
PhpStorm suggère aussi d'ajouter l'attribut #[\Override]
lorsque c'est pertinent.
json_validate()
PHP 8.3 ajoute la nouvelle fonction json_validate()
à la bibliothèque standard. Auparavant, le seul moyen de vérifier qu'une chaîne était un JSON valide était de la décoder et de regarder si des erreurs s'étaient produites. PhpStorm peut détecter ces patterns et suggère alors de les remplacer par un appel à la fonction json_validate()
. Cette fonctionnalité est intéressante lorsque vous avez uniquement besoin de savoir si l'entrée est un JSON valide, car vous utilisez moins de mémoire qu'en décodant la chaîne.
Avec PHP 8.3, vous pouvez déclarer des types pour les constantes de classe. Vous pouvez utiliser toutes les déclarations de type à l'exception de void
, callable
, et never
.
Pour les constantes de classe typées, PhpStorm fournit :
PHP 8.3 introduit plusieurs obsolescences, mais PhpStorm vous aide en fournissant des inspections qui permettent de les repérer.
PhpStorm 2023.3 apporte plusieurs améliorations destinées aux développeurs Symfony.
Un nouvel initialiseur de projet intégré pour Symfony vous permet de créer de nouveaux projets avec les types et les versions de votre choix directement depuis l'écran d'accueil.
Vous bénéficiez désormais de la prise en charge complète de DQL par l'IDE dans les appels des méthodes Query Builder. Les fonctionnalités ajoutées incluent notamment la mise en évidence, la saisie semi-automatique dans les champs et la résolution vers la classe de modèle cible.
Following the introduction of attributes in PHP 8.0, Doctrine annotations are being deprecated and will soon be removed. Afin de vous accompagner dans cette transition, PhpStorm 2023.3 inclut une fonctionnalité permettant de convertir les annotations Doctrine en attributs.
PhpStorm prend également en charge la conversion des annotations Symfony vers leurs attributs correspondants, comme #[Required]
, #[Route]
, etc.
Nous avons également ajouté une nouvelle fonctionnalité expérimentale qui permet d'exclure de votre projet les dossiers provenant de bibliothèques indexées. L'exclusion de ces fichiers permet d'éviter les problèmes de définitions multiples et d'améliorer les performances d'indexation.
Nous poursuivons notre travail d'amélioration de l'expérience pour l'utilisation des génériques. Dans PhpStorm 2023.3, il est désormais possible de définir un code couleur pour les génériques afin que leurs types puissent être facilement distingués.
Les attributs sont de plus en plus utilisés et il peut être difficile de lire du code avec de longs attributs multilignes dans certains frameworks. Cela ne sera plus problème dorénavant car PhpStorm 2023.3 permet de replier les attributs multilignes.
PHPUnit 10 introduced support for attributes for adding metadata to test classes and test methods, as well as tested code units. Nous avons implémenté une inspection et un correctif rapide pour vous aider à migrer vers ce nouveau style à partir des anciennes annotations PHPDoc.
PhpStorm 2023.3 apporte une nouvelle façon d'examiner les modifications. Désormais, au lieu de parcourir chaque fichier un par un, vous pouvez consulter tous les fichiers modifiés à partir d'un ensemble de modifications dans un même cadre déroulant. Cette nouvelle visionneuse de différences est accessible depuis la fenêtre d'outils Git Log et fonctionne actuellement avec les révisions de JetBrains Space. Nous travaillons à le rendre compatible avec GitLab et GitHub.
La nouvelle option d'insertion Run to Cursor de PhpStorm 2023.3 vous permet d'exécuter rapidement votre code jusqu'à une ligne spécifique pendant le débogage. Une fois votre programme en pause, survolez avec la souris la dernière ligne du code que vous souhaitez exécuter et utilisez la fenêtre contextuelle Run to Cursor. Vous pouvez obtenir le même résultat en utilisant le raccourci clavier Alt + F9 après avoir placé le curseur sur la ligne souhaitée.
Suite à vos retours concernant la nouvelle interface utilisateur, nous avons rendu possible le masquage de la barre d'outils principale lorsque vous utilisez le mode d'affichage par défaut de l'IDE, comme cela était le cas dans l'ancienne interface utilisateur. Pour supprimer la barre d'outils, sélectionnez View | Appearance et décochez l'option Toolbar.
Avec la sortie de PhpStorm 2023.1, nous avions introduit la possibilité d'enregistrer plusieurs dispositions de fenêtres d'outils et de basculer entre elles, afin de renforcer les possibilités de personnaliser votre espace de travail. Nous sommes allés un peu plus loin dans PhpStorm 2023.3, en introduisant l'option Default layout, qui permet de rétablir rapidement l'apparence par défaut de votre espace de travail. Cette disposition ne peut pas être modifiée. Vous pouvez y accéder dans Window | Mise en page.
Afin de faciliter le travail avec plusieurs types de fichiers en même temps dans l'éditeur, nous avons introduit un codage couleur par défaut pour les onglets de l'éditeur qui correspond à celui de la fenêtre d'outils Project.
Avec toutes les fonctionnalités de WebStorm qu'il comprend, PhpStorm est maintenant capable de résoudre efficacement les problèmes pouvant survenir lors de l'ajout de déclarations de type d'importation
et facilite le travail avec la syntaxe verbatimModuleSyntax
. Nous avons ajouté la possibilité de configurer la déclaration TypeScript import type
. Nous avons également amélioré le comportement du champ exports
de package.json pour les fichiers TypeScript.
Désormais, lorsque vous collez du code HTML dans un fichier JSX, non seulement PhpStorm convertit les attributs, mais il ferme aussi automatiquement les balises simples pour vous. Vous pouvez configurer cette option dans Settings | Editor | General | Smart Keys | JavaScript.
@property
pour les propriétés CSS personnalisées To support the new @property
API for creating custom CSS properties, PhpStorm 2023.3 now offers inspections and completion features for explicitly defining CSS custom properties, allowing you to check and restrict property types, establish default values, and determine inheritance possibilities for custom properties.
Nous avons ajouté une prise en charge de defineSlots
qui fournit la saisie semi-automatique et la navigation pour le nom du slot
, ainsi que la refactorisation Rename. Nous inaugurons également la saisie semi-automatique pour les propriétés avec defineExpose
. Dans PhpStorm 2023.3, les importations requises pour les composants sont ajoutées en fonction du nom spécifié par la fonction defineOptions
.