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 2019.2 disponible :
Propriétés typées de PHP 7.4, localisation de doublons, expressions régulières pour PHP, scripts Shell, etc.

Le , par Michael Guilloux

94PARTAGES

9  0 
Début avril, JetBrains a annoncé la sortie de PhpStorm 2019.1, la première mise à jour majeure annuelle de son EDI pour le développement Web avec PHP. Celle-ci apportait un bon lot de fonctionnalités et améliorations, à savoir : la prise en charge du débogage des modèles Twig et Blade non compilés, la localisation de code mort, de nouveaux refactorings, intentions et correctifs rapides. Elle offrait également de meilleures performances et plus de stabilité, entre autres améliorations.

JetBrains vient de publier PhpStorm 2019.2, la deuxième mise à jour majeure de l'année de son EDI PHP, qui apporte aussi bon nombre de nouveautés et améliorations. Outre des améliorations en termes de performances et de stabilité, cette version majeure apporte de nouvelles fonctionnalités telles que la prise en charge des propriétés typées de PHP 7.4, la localisation instantanée de code dupliqué, la coloration et la vérification des expressions régulières (RegExps) en PHP, l'amélioration de la prise en charge de EditorConfig, le support des scripts Shell, la coloration syntaxique pour plus 20 langages de programmation, entre autres. Nous vous proposons ici les fonctionnalités les plus notables par domaine.

Propriétés typées de PHP 7.4

La sortie de PHP 7.4 est prévue pour fin novembre. JetBrains veut implémenter sa prise en charge le plus tôt possible dans PhpStorm, afin que les développeurs aient le temps de tester et de commencer à planifier leur migration. La fonctionnalité la plus attendue de cette nouvelle version du langage de programmation web côté serveur est probablement les propriétés typées, que PhpStorm 2019.2 supporte déjà pleinement. De nouvelles inspections mettent en évidence les violations de type et vous pourrez mettre à jour votre base de code à l'aide du correctif rapide "Add declared type for the field" (Ajouter un type déclaré pour le champ). PhpStorm détectera le type automatiquement en fonction de la déclaration PHPDoc, la valeur par défaut ou du type d'argument dans un constructeur.


Détection de doublons à la volée

JetBrains a ajouté la recherche de doublons depuis un certain temps, une fonctionnalité accessible via "Code > Localiser les doublons". Cela peut vous aider à éliminer les doublons et à rendre votre code plus concis et stable. Si vous ne l’avez jamais utilisée, vous gagnerez à le faire, car il est parfois surprenant de voir le nombre de doublons qu’une base de code moyenne peut contenir. Mais cette version de PhpStorm pousse l'analyse des doublons à un tout autre niveau, en vous permettant de les repérer à la volée. Maintenant, si en naviguant dans votre code vous tombez sur un doublon ou si vous en créez un, en écrivant un nouveau code ou en collant un fragment de code, vous le saurez immédiatement, grâce à une nouvelle inspection appelée "Duplicated code fragment" qui est activée par défaut. Vous pourrez naviguer vers les doublons ou les afficher dans une fenêtre.

Coloration et vérification des expressions régulières

Les RegExps (expressions régulières) constituent un moyen extrêmement utile pour rechercher et remplacer des éléments dans des chaînes. Auparavant dans PhpStorm, les patterns d’expression régulière dans le code PHP n’étaient pas mis en évidence par défaut et ils apparaissaient sous forme de texte brut. Maintenant, PhpStorm 2019.2 est livré avec un support complet des RegExps pour PHP. Cela signifie que chaque fois que votre code utilise des fonctions preg_*, le pattern est mis en surbrillance et son exactitude est automatiquement vérifiée ... De plus, vous pouvez maintenant tester vos patterns directement dans l'EDI. Il suffit de déplacer le curseur sur le pattern et d'appuyer sur Alt+Entrée pour afficher l'action rapide "Check RegExp".


Exécuter Composer via n'importe quel interpréteur PHP distant

Composer est un logiciel gestionnaire de dépendances libre écrit en PHP. Auparavant, dans PhpStorm, vous deviez avoir un interpréteur PHP local pour exécuter Composer. Le problème avec cela est que l’environnement local ne reflétait souvent pas la configuration réelle de la production ou qu’il n’existait peut-être même pas d’interpréteur PHP local. Dans PhpStorm 2019.2, vous pouvez choisir n'importe quel interpréteur distant pour exécuter votre Composer : Docker, Vagrant, via SSH, etc.

Intentions & Quick-fix

Selon le PSR-2, une norme sur le style d'écriture du code, les lignes de plus de 80 caractères doivent être fractionnées en plusieurs lignes de 80 caractères au maximum. Ainsi, dans PhpStorm, si votre liste ou tableau de paramètres devient trop long, vous pouvez maintenant le scinder en un clic en utilisant la nouvelle intention "Split comma-separated values into multiple lines" (Fractionner les valeurs séparées par des virgules en plusieurs lignes, Alt + Entrée). L'intention inverse est également disponible dans les cas où vous souhaitez combiner des éléments sur une seule ligne, grâce à l'intention "Join comma-separated values into a single line". En quelques mots, il est maintenant possible de convertir une liste monoligne en une liste à plusieurs lignes et vice-versa.


Il y a aussi une nouvelle intention et des inspections supplémentaires pour l'instruction Switch. Il est par exemple maintenant possible d'ajouter des branches plus rapidement en copiant les branches existantes, puis en les modifiant. Vous pouvez utiliser Alt + Entrée sur l’instruction case sans corps et choisir "Copy ‘switch’ branch". Il ne faut pas oublier de modifier la copie, parce que PhpStorm vous avertira si un bloc switch a une branche dupliquée. De plus, dans PhpStorm 2019.2, si vous avez une instruction switch sans branche default dans votre code, vous pouvez aussi corriger cela rapidement avec Alt+Entrée.


PhpStorm est déjà livré avec plusieurs intentions pour manipuler les chaînes et il y en a une nouvelle pour 2019.2. Si vous devez introduire un nouveau paramètre dans une expression sprintf, sélectionnez-la simplement, exécutez l'intention "Extract selected string part as format function argument" et PhpStorm choisira l'emplacement correct pour un paramètre. Cela fonctionne également pour la concaténation.


Support PHPT

Les fichiers .phpt peuvent vous aider à rédiger des tests fonctionnels de manière simple. Ce format est utilisé pour tester PHP Core. PhpStorm 2019.2 prend maintenant en charge les fichiers .phpt, y compris la mise en surbrillance pour les sections et les scripts, l'injection automatique des langages PHP et INI dans les sections correspondantes, la complétion des noms de section, etc.

Docker

Ici, notons que Docker a été déplacé vers la nouvelle fenêtre d'outil Services. Le but de cette fenêtre d’outil est de fournir un emplacement unique pour afficher toutes les connexions et les processus en cours. Actuellement, dans PhpStorm, elle inclut les connexions Docker et de bases de données. Il est aussi désormais possible d'afficher le système de fichiers du conteneur Docker en cours d'exécution. Le système de fichiers est affiché dans un onglet Fichiers nouvellement ajouté.

Client HTTP

Le format cURL est désormais pris en charge pour les requêtes HTTP. Copiez simplement votre requête au format cURL depuis les outils de développement de votre navigateur, une documentation, un terminal ou ailleurs et collez-la directement dans votre fichier .http dans PhpStorm pour la convertir au format approprié, puis vous pouvez, si vous le souhaitez, modifier les paramètres, les en-têtes ou le corps de la requête.


Imaginez maintenant que vous ayez fait une demande d'authentification sur un service pour appeler ultérieurement les endpoints qui demanderont une autorisation. Dans le passé, cette réponse d'authentification était perdue, vous obligeant à la demander chaque fois que cela était nécessaire. Maintenant, ce n'est plus un problème, car tous les cookies seront conservés pour votre utilisation future.

Technologies Web

Comme JetBrains a l'habitude de le faire, toutes les fonctionnalités et améliorations de WebStorm sont disponibles dans PhpStorm, directement ou avec des plugins gratuits disponibles dans le référentiel de plugins. Ainsi, cette nouvelle version de PhpStorm vient avec des intentions intelligentes pour JavaScript et TypeScript : avec la nouvelle intention "Propagate to destructuring", vous pouvez remplacer une variable supplémentaire si cela est possible avec une autre déstructuration. Pour information, la déstructuration consiste à décomposer les valeurs des tableaux et des objets pour obtenir des variables utilisant une syntaxe très concise.

Pour supprimer complètement une déstructuration, vous pouvez utiliser l'intention "Replace destructuring with property or index access". Notons aussi que l'EDI va vous avertir maintenant si une expression booléenne dans une condition comporte des parties inutiles et va suggérer de la simplifier.

Dans cette version de PhpStorm, le renommage du refactoring pour JavaScript a également été amélioré. Lorsque vous renommez un symbole dans un fichier JavaScript ou TypeScript, l'EDI regroupe désormais les utilisations dynamiques et les exclut par défaut du refactoring. Cela rend le refactoring plus précis et vous donne plus de contrôle sur ce qui doit être renommé exactement dans la fenêtre d’outil "Refactoring Preview".

L'EDI de JetBrains offre aussi une meilleure prise en charge des bibliothèques de composants Vue.js. Si vous utilisez Vuetify ou BootstrapVue dans votre application Vue.js, la complétion de code pour ces composants (et aussi d'autres bibliothèques de composants Vue.js) et leurs propriétés est maintenant plus précise. Cela a été rendu possible grâce à une nouvelle approche que JetBrains a adoptée pour travailler avec ces bibliothèques dans l’EDI.

Prise en charge de la coloration syntaxique pour plus de 20 langages

PhpStorm 2019.2 a ajouté la prise en charge de la coloration syntaxique pour plus de 20 langages de programmation différents, y compris Ruby, Python, Go, entre autres. Tout fonctionne immédiatement sans qu'aucune configuration supplémentaire ne soit nécessaire. Cela est maintenant possible grâce au paquet de fichiers de grammaire linguistique de TextMate fournie avec l'EDI. Si vous avez donc besoin d'un langage supplémentaire, vous pouvez télécharger le paquet correspondant à ce langage et l'importer dans l'EDI.

EditorConfig

La nouvelle version majeure de l'EDI PHP offre en plus une prise en charge améliorée de EditorConfig. Les fichiers EditorConfig vous permettent d'intégrer les paramètres de style de code directement dans votre référentiel. JetBrains a maintenant amélioré cette fonctionnalité pour la rendre plus flexible. Par exemple, il est maintenant possible d’utiliser plusieurs fichiers EditorConfig pour définir différents paramètres pour différentes parties de votre projet.

Scripts Shell

Cette version de PhpStorm offre un support d'édition riche pour les scripts shell, y compris la complétion des mots et des chemins, la documentation rapide et même le "Rename refactoring". Vous pouvez également créer des configurations pour l'exécution de scripts shell. JetBrains a intégré PhpStorm avec plusieurs outils externes pour une prise en charge encore plus avancée des scripts shell. Désormais, vous pouvez utiliser Shellcheck pour détecter et corriger les erreurs dans votre script, mvdan/sh pour formater correctement votre script shell et Explainshell pour obtenir une description complète d'une commande en appuyant sur Alt + Entrée.

Autres nouveautés

PhpStorm 2019.2 apporte bien d'autres nouveautés, mais parmi celles qui ont été mises en avant par JetBrains, on peut encore citer, au niveau du contrôle de version, la possibilité d'ignorer des fichiers immédiatement : vous pouvez maintenant ajouter des fichiers à la liste des fichiers ignorés à partir de l'arborescence du projet ou de l'onglet "Modifications locales" de la fenêtre de l'outil VCS. Si vous préférez éditer .gitignore, vous pourrez également utiliser la complétion dans les fichiers .gitignore pour les noms de fichiers et de dossiers.

Au niveau des outils de bases de données également, on a, entre autres nouveautés, un meilleur support de la recherche en texte intégral. Vous pouvez désormais rechercher des données nécessaires même si vous ne connaissez pas leur emplacement exact. Faites un clic droit sur la source de données ou sur un groupe de sources de données dans lequel vous souhaitez effectuer la recherche, puis sélectionnez "Full-text Search". Les résultats sont filtrés pour ne vous montrer que les chaînes dans lesquelles les données sont trouvées. En quelques mots, c'est une fonctionnalité qui vous permettra de retrouver plus facilement vos données, où qu’elles se cachent.


Télécharger PhpStorm 2019.2

Voir aussi :

PyCharm : la version 2019.2 de l'EDI Python disponible avec une amélioration de l'expérience Jupyter Notebook et un support initial de Python 3.8
CLion 2019.2 disponible, l'EDI C/C++ de JetBrains apporte des améliorations pour le développement embarqué et un débogueur expérimental MSVC
WebStorm 2019.2 disponible : tour d'horizon des nouveautés de l'EDI de JetBrains pour les développeurs JavaScript
IntelliJ IDEA 2019.2 apporte des fonctionnalités en préversion de Java 13, des outils de profilage et bien plus encore
La version 2019.2 de YouTrack, le logiciel de gestion de projet et de suivi des incidents est disponible et peut être désormais connecté à Bitbucket
PHP 7.4 devrait être rendu disponible vers la fin de cette année : voici un aperçu des nouveautés qui pourraient y figurer

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