Nouveautés de PhpStorm 2019.2

Faites l'expérience de l'hyper-productivité grâce à la deuxième mise à jour majeure de PhpStorm pour 2019.

Propriétés typées de PHP 7.4

La sortie de PHP 7.4 est prévue pour fin novembre. PhpStorm anticipe et commence reployer sa prise en charge, afin de vous laisser le temps de tester et de préparer la migration. La fonctionnalité la plus attendue concerne probablement la gestion des propriétés typées, que PhpStorm 2019.2 prend déjà intégralement en charge. Les nouvelles inspections surlignent les violations de typage et vous avez la possibilité de mettre à jour votre base de code au moyen du correctif rapide Add declared type for the field. PhpStorm détecte le type automatiquement en fonction de PHPDoc, de la valeur par défaut ou de la déclaration de type d'argument dans un constructeur.

Recherche de doublons à la volée

Recherche de doublons à la volée

La modification d'un bloc de code qui se répète plusieurs fois dans votre projet est généralement chronophage, voire source de bogues de régression si vous omettez l'une des occurrences. PhpStorm empêche la création de doublons de code en les surlignant immédiatement pour les mettre en évidence. Ainsi, si vous tombez sur un doublon ou en créez un, vous le saurez immédiatement ! La nouvelle inspection s'appelle Duplicated code fragment et est activée par défaut. Pour la configurer, allez dans Preferences | Editor | Inspections | General. Vous pouvez régler les paramètres correspondants dans la section Preferences | Editor | Duplicates. Et naturellement, vous pouvez l'exécuter à tout moment sur l'intégralité du projet (ou de la portée personnalisée) au moyen de Code → Run Inspection by Name.

Injection d'expressions régulières

Injections d'expressions régulières

Les expressions régulières sont très pratiques pour rechercher et remplacer des éléments dans des chaînes de caractères. La nouvelle version de PhpStorm injecte automatiquement les expressions régulières dans le code PHP. Cela signifie que dès que votre code utilise les fonctions preg_*, le modèle correspondant est surligné et soumis à des vérifications. D'autre part, vous pouvez désormais tester vos schémas directement dans l'IDE ! Placez le caret sur le schéma et appuyez sur Alt+Entrée pour afficher l'action rapide Check RegExp.

Accès à Composer depuis un interprète PHP distant

Exécuter Composer par l'intermédiaire d'un interprète PHP distant

Auparavant, vous deviez utiliser un interprète PHP local pour exécuter Composer. Le problème avec cela est que l'environnement local ne reflétait généralement pas la configuration de production réelle ou qu'il n'y avait pas d'interprète PHP du tout. Dans PhpStorm 2019.2, vous pouvez choisir l'interprète distant que vous souhaitez pour exécuter votre instance de Composer : Docker, Vagrant au moyen de SSH, ou tout autre chose : à vous de choisir !

Accédez à la section Preferences | Languages & Frameworks | PHP | Composer, sélectionnez Remote Interpreter, puis choisissez un interpréteur dans la liste déroulante ou ajoutez-en un.

Intentions et correctifs rapides

Nouvelles intentions dans la section String Juggling Toolbox

Nouvelles intentions dans la section String Juggling Toolbox

PhpStorm fournit de nombreuses intentions Alt+Entrée pour manipuler les chaînes. La version 2019.2 en ajoute une nouvelle.

Si vous devez introduire un nouveau paramètre dans une expression sprintf, sélectionnez-la, exécutez l'intention Extract selected string part as format function argument, et PhpStorm choisira le meilleur emplacement possible pour le paramètre. Cela fonctionne également pour la concaténation.

Convertissez une liste monoligne en liste multi-lignes, et inversement

Convertissez une liste monoligne en liste multi-lignes, et inversement

Selon PSR-2, les lignes de plus de 80 caractères doivent être fractionnées en blocs de 80 caractères maximum. Par conséquent, si votre liste de paramètres ou votre tableau deviennent trop longs, vous pouvez les rééquilibrer en un clic avec la nouvelle intention Alt+Entrée Split comma-separated values into multiple lines. L'intention inverse est également disponible et permet de regrouper plusieurs éléments sur une seule ligne.

Intention et inspections pour les instructions Switch

Intention et inspections pour les instructions Switch

Il est désormais possible d'ajouter des branches plus rapidement en copiant les branches existantes et en les modifiant. Vous pouvez utiliser Alt+Entrée sur l'instruction Case sans corps et choisir Copy ‘switch' branch. N'oubliez pas de modifier la copie, car PhpStorm vous avertit si un bloc Switch comporte un doublon de branche, à savoir le même corps, qu'il soit redondant ou écrit par erreur. D'autre part, si votre code comporte une instruction Switch sans branche par défaut, PhpStorm 2019.2 permet de corriger rapidement cette erreur en cliquant sur Alt+Entrée.

Prise en charge de PHPT

Prise en charge de PHPT

Les fichiers .phpt permettent d'écrire des tests fonctionnels de façon simple. Ce format permet de tester le code PHP essentiel. PhpStorm 2019.2 prend directement en charge les fichiers .phpt, ce qui inclut le surlignage des sections et des scripts, l'auto-injection des langages PHP et INI dans les sections correspondantes, la saisie automatique des noms de section et l'accès direct aux fichiers référencés dans les sections EXTERNAL.

Docker

Fenêtre d'outils Services

Fenêtre d'outils Services

Docker a été déplacé vers la nouvelle fenêtre d'outils Services. L'objectif de cette fenêtre d'outils est de centraliser l'affichage des connexions et des processus actifs. Jusqu'à présent, PhpStorm inclut Docker et les connexions de bases de données.

Parcourir le système de fichiers du conteneur Docker

Parcourir le système de fichiers du conteneur Docker

Vous pouvez désormais afficher le système de fichier du conteneur Docker actif. Le système de fichiers s'affiche dans le nouvel onglet Files.

Client HTTP

Format cURL du client HTTP

Format cURL du client HTTP

Cette procédure est aussi simple que possible. Copiez la chaîne de la requête cURL depuis les outils de développement de votre navigateur, la documentation, le terminal ou tout autre endroit, puis collez-la dans le fichier .http de PhpStorm et regardez-la se transformer en une véritable requête ! Une fois cette opération terminée, testez la nouvelle requête en profitant de la puissance de la saisie automatique et intelligente.

Préservation des cookies dans le client HTTP

Préservation des cookies dans le client HTTP

Supposons que vous avez créé une requête d'authentification sur le service et que, dans les requêtes qui en découlent, vous devez appeler des terminaux qui nécessitent des autorisations supplémentaires. Auparavant, vous auriez perdu les cookies dès la première réponse. Ce n'est plus nécessaire : PhpStorm conserve tous les cookies et les transfère automatiquement aux nouvelles requêtes.

Technologies Web

Comme d'habitude, toutes les fonctionnalités et améliorations de WebStorm sont disponibles dans PhpStorm, soit automatiquement, soit par le biais de plugins gratuits disponibles sur la boutique Plugin Marketplace.

Intentions intelligentes pour JavaScript et TypeScript

Intentions intelligentes pour JavaScript et TypeScript

Grâce à la nouvelle intention Propagate to destructuring Alt+Entrée, vous pouvez remplacer une variable supplémentaire par une déstructuration. Pour supprimer complètement une déstructuration, utilisez l'action d'intention Replace destructuring with property or index access.

L'IDE vous avertit si l'expression booléenne d'une condition comporte des éléments superflus et vous propose de la simplifier.

Refactorisation Rename améliorée pour JavaScript

Refactorisation Rename améliorée pour JavaScript

Lorsque vous renommez un symbole dans un fichier JavaScript ou TypeScript, l'IDE regroupe maintenant les utilisations dynamiques et, par défaut, les exclut de la refactorisation. Cela permet d'améliorer la précision de la refactorisation et vous donne plus de contrôle sur ce qui doit précisément être renommé dans la fenêtre d'outils Refactoring Preview.

Prise en charge améliorée de Vue.js

Prise en charge améliorée de Vue.js

Vous utilisez Vuetify ou BootstrapVue dans votre application Vue.js ? La saisie automatique du code pour les composants et leurs accessoires, à partir de ces bibliothèques de composants Vue et d'autres, est maintenant plus précise. Une nouvelle approche de la manipulation de ces bibliothèques dans l'IDE a rendu cela possible.

Mise en évidence des éléments syntaxiques pour plus de 20 langages

Mise en évidence des éléments syntaxiques pour plus de 20 langages

PhpStorm 2019.2 assure directement la mise en évidence des éléments syntaxiques pour plus de 20 langages de programmation différents, notamment Ruby, Python et Go, pour ne citer qu'eux. La mise en évidence des éléments syntaxiques s'appuie sur les bundles TextMate. Par conséquent, si vous avez besoin d'un langage supplémentaire, n'hésitez pas à télécharger le bundle correspondant et à l'importer dans l'IDE.

EditorConfig

EditorConfig

PhpStorm prend désormais directement en charge les fichiers .editorconfig. Vous pouvez en avoir autant que vous le souhaitez. Créez-les dans un dossier et les paramètres de code spécifiés seront appliqués exclusivement aux fichiers résidant dans ce dossier.

En plus de toutes les propriétés standard d'EditorConfig, vous pouvez désormais spécifier des options de style de code propres à PhpStorm. Il n'a jamais été aussi facile de définir des normes de style de codage pour l'ensemble de l'équipe.

Scripts shell

Prise en charge des scripts shell

Cette version assure la prise en charge de l'édition enrichie des scripts shell, notamment la saisie automatique de mots et de chemins, la documentation rapide et la refactactorisation Rename. Vous pouvez également créer des configurations d'exécution des scripts shell.

Nous avons intégré PhpStorm avec plusieurs outils externes pour assurer une prise en charge encore plus avancée des scripts shell. Dès maintenant, 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.

Contrôle de version

Gestion des fichiers ignorés prête à l'emploi

La nouvelle version permet d'ajouter des fichiers à la liste de fichiers à ignorer, soit depuis l'arborescence du projet, soit depuis l'onglet Local Changes de la fenêtre d'outils VCS. Si vous préférez modifier .gitignore, vous pouvez utiliser la fonctionnalité de saisie automatique de chemin de l'éditeur.

Nouveau flux de commits sans boîte de dialogue

Nouveau flux de commits sans boîte de dialogue

PhpStorm 2019.2 modifie considérablement les projets utilisant Git ou Mercurial. Vous pouvez désormais envoyer les commits de fichiers depuis l'onglet Local Changes de la fenêtre d'outils Version Control. Vous pouvez également y vérifier les fichiers modifiés et apporter les modifications nécessaires, car la boîte de dialogue commit ne bloque pas le reste de l'IDE. Pour essayer, cochez la case Commit from the Local Changes without showing a dialog dans la section Preferences | Version Control | Commit Dialog.

Rappel des fichiers oubliés

Rappel des fichiers oubliés

Lors de la validation de fichiers, si PhpStorm 2019.2 détecte que d'autres fichiers habituellement validés avec les fichiers que vous venez de soumettre ont été modifiés, il vous en avertit, afin de s'assurer que rien ne manque.

Personnalisation de l'onglet VCS Log

Personnalisation de l'onglet VCS Log

La nouvelle version permet de choisir les colonnes à afficher dans l'onglet Log de la fenêtre d'outils Version Control. Cliquez sur l'icône représentant un œil, sélectionnez « Show Columns », puis sélectionnez les colonnes à afficher : auteur, date ou commit hash.

Outils de base de données

La recherche en texte intégral pour obtenir des résultats complets

La recherche en texte intégral pour obtenir des résultats complets

Vous pouvez désormais rechercher les données nécessaires même si vous n'en connaissez pas l'emplacement exact. Faites un clic droit sur la source de données ou le groupe de sources de données concerné par la recherche, puis sélectionnez Full-text Search ou appuyez sur Cmd+Alt+Maj+F.

Les résultats sont filtrés pour n'afficher que les chaînes dans lesquelles se trouvent les données. Si vous ne parvenez pas à trouver les données parce qu'il y a trop de colonnes, utilisez la fonction de recherche de texte de l'éditeur : Cmd+F.

Filtrer par une source de données disponible dans recherche et navigation

Filtrer par une source de données disponible dans recherche et navigation

Localiser un objet dans la fenêtre contextuelle GoTo peut se révéler compliqué, car il existe souvent de nombreux éléments similaires. Avec PhpStorm 2019.2, vous pouvez choisir le périmètre de recherche, que ce soit dans une source de données spécifique ou dans un groupe de sources. Il en va de même pour Find In Path. Cela est extrêmement utile lorsque vous recherchez du code source dans les DDL d'autres objets.