IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

PhpStorm 2023.3 disponible : l'EDI de JetBrains vient avec la prise en charge de PHP 8.3, de Pest
Ainsi que des améliorations pour la prise en charge de Symfony et pour l'interface utilisateur

Le , par Michael Guilloux

9PARTAGES

7  0 
JetBrains annonce la sortie de PhpStorm 2023.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 parmi lesquelles on peut citer les points suivants :

  • L'AI Assistant est sorti de la phase de préversion
  • La prise en charge de Pest
  • La prise en charge de PHP 8.3
  • L'amélioration de la prise en charge de Symfony
  • Des améliorations de confort dans l'interface utilisateur


L'AI Assistant est sorti de la phase de préversion

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 EDI de JetBrains encore plus productif.

Saisie semi-automatique du code basée sur les grands modèles de langages (LLM)

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.

Génération de code de test

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.


Génération de code dans l'éditeur

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é.


Explications des erreurs par l'IA dans la console

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.

Vous pouvez utiliser l'AI Assistant dans WebStorm en tant que fonctionnalité supplémentaire en vous abonnant à JetBrains AI Service.

Mises à jour pour la prise en charge de Pest

Désormais, PhpStorm prend directement en charge le framework de tests Pest. En accord avec l'auteur original du plugin Pest, JetBrains est maintenant responsable de son développement et a décidé de l'intégrer à PhpStorm.

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.

Prise en charge de PHP 8.3

PhpStorm 2023.3 fournit une prise en charge complète de PHP 8.3. La plupart des changements pris en charge par l'EDI 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.

Attribut #[\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.

Nouvelle fonction 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.

Constantes de classes typées

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 :

  • Des suggestions pour insérer les types appropriés
  • La saisie semi-automatique pour les indications de types
  • Des vérifications de compatibilité avec le type de la valeur par défaut
  • Des vérifications de redéclaration de type lors du remplacement d'une constante dans une classe enfant

Fonctionnalités obsolètes

PHP 8.3 introduit plusieurs obsolescences, mais PhpStorm vous aide en fournissant des inspections qui permettent de les repérer.

Prise en charge de Symfony

PhpStorm 2023.3 apporte plusieurs améliorations destinées aux développeurs Symfony.

Assistant New Project

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.

Prise en charge de Doctrine Query Language dans QueryBuilder

Vous bénéficiez désormais de la prise en charge complète de DQL par l'EDI 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.


Conversion des annotations en attributs pour Symfony et Doctrine

Suite à l'introduction des attributs dans PHP 8.0, les annotations Doctrine vont devenir obsolètes et seront supprimées prochainement. 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.

Autres mises à jour relatives à PHP

Option pour exclure des fichiers de bibliothèques externes de votre projet

JetBrains a é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.

Spécification d'un style dédié pour les types des génériques

JetBrains poursuit son 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.

Possibilité de réduire les attributs PHP multilignes

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 un problème dorénavant car PhpStorm 2023.3 permet de replier les attributs multilignes.

Conversion des métadonnées PHPUnit de PHPDoc en attributs

PHPUnit 10 a introduit la prise en charge des attributs, qui permet d'ajouter des métadonnées aux classes et aux méthodes de tests, ainsi qu'aux unités de code testées. JetBrains a implémenté une inspection et un correctif rapide pour vous aider à migrer vers ce nouveau style à partir des anciennes annotations PHPDoc.


Systèmes de contrôle de version

Visionneuse de différences pour l'ensemble des modifications

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. JetBrains travaille à le rendre compatible avec GitLab et GitHub.

Débogueur

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.


Interface utilisateur

Option pour masquer la barre d'outils principale dans le mode d'affichage par défaut

Suite à vos retours concernant la nouvelle interface utilisateur, JetBrains a rendu possible le masquage de la barre d'outils principale lorsque vous utilisez le mode d'affichage par défaut de l'EDI, 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.


Option pour revenir à la disposition par défaut des fenêtres d'outils

Avec la sortie de PhpStorm 2023.1, JetBrains avait 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. L'éditeur de logiciels pour développeurs est allé 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.


Codage couleur par défaut pour les onglets de l'éditeur

Afin de faciliter le travail avec plusieurs types de fichiers en même temps dans l'éditeur, JetBrains a introduit un codage couleur par défaut pour les onglets de l'éditeur qui correspond à celui de la fenêtre d'outils Project.

Améliorations pour TypeScript

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 import type et facilite le travail avec la syntaxe verbatimModuleSyntax. JetBrains a ajouté la possibilité de configurer la déclaration TypeScript import type. L'éditeur de logiciels pour développeurs a également amélioré le comportement du champ exports de package.json pour les fichiers TypeScript.

Fermeture des balises HTML simples en JSX

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.


Prise en charge de @property pour les propriétés CSS personnalisées

Afin de prendre en charge la nouvelle API @property pour la création de propriétés CSS personnalisées, PhpStorm 2023.3 fournit maintenant des fonctionnalités d'inspection et de complétion qui permettent de définir explicitement des propriétés CSS personnalisées. Vous pouvez vérifier et restreindre les types de propriétés, établir des valeurs par défaut et déterminer les possibilités d'héritage pour les propriétés personnalisées.

Améliorations pour Vue 3

JetBrains a 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. L'éditeur inaugure é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.

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

Une erreur dans cette actualité ? Signalez-nous-la !