Génériques pour PHP
PHP ne fournit pour le moment pas de prise en charge des génériques au niveau du langage, mais vous pouvez les utiliser via des annotations PHPDoc. Ils rendent le code plus sûr et plus prévisible quand vous travaillez avec des collections, des conteneurs, des factories et d'autres applications.
JetBrains a ajouté la prise en charge des génériques via l'annotation @template. Il est ainsi plus simple de travailler avec des collections dans de nombreux cas, car les suggestions contiennent des éléments du type attendu. Pour les patterns Factory, vous pouvez désormais utiliser l'annotation class-string<T> pour obtenir une meilleure saisie semi-automatique du code. La prise en charge préliminaire des génériques n'est pas encore complète et présente donc quelques limitations.
Enums de PHP 8.1
La nouvelle version 8.1 de l'interpréteur PHP devrait être publiée fin 2021. Mais comme toujours, JetBrains a commencé à déployer la prise en charge à l'avance.
Les enums sont l'une des fonctionnalités les plus attendues de la version 8.1 de PHP. Avec PhpStorm 2021.2, vous pouvez commencer à utiliser les enums immédiatement. L'EDI propose des suggestions de code et une validation pour vous éviter de les utiliser de manière incorrecte.
Un enum en PHP contient un ensemble de cas, peut avoir des méthodes et peut être utilisé comme une suggestion de type. Dans tous ces cas, PhpStorm met en évidence les erreurs et fait les suggestions appropriées pour vous faire gagner du temps.
Backed Enum
Les cas d'enum peuvent avoir des équivalents de type scalaire. Ceci est utile lorsque les enums doivent être stockés dans un data store. Ce type d'enum est apellé « backed enum ». Avec un correctif rapide, vous pouvez ajouter une déclaration de type scalaire à un backed enum. Les enums peuvent également être utilisées avec d'autres fonctionnalités, telles que les conditions et les expressions de correspondance (match).
Array shapes
Si votre code contient des tableaux similaires à des objets, vous pouvez désormais définir leur structure avec cette annotation PHPDoc : array{key: type, key: type, ...}. PhpStorm fournit la saisie automatique du code pour ces tableaux annotés, ce qui vous permet de passer moins de temps sur la saisie de routine et d'éviter les erreurs. La prise en charge est limitée aux définitions d'array-shapes d'une ligne. Pour les structures plus importantes, il est souvent préférable d'utiliser des objets et des classes réels.
Refactorisation Extract Method améliorée
JetBrains a amélioré Extract Method, l'une des refactorisations de PhpStorm les plus fréquemment utilisées. Cette refactorisation permet de diviser les méthodes importantes en unités plus petites et d'éliminer le code en double.
Refactorisation du code dupliqué
PhpStorm dispose de l'inspection Duplicated code fragment. Elle met en évidence toutes les parties du code qui sont très similaires. Dans ce cas, la mise en forme, les noms de variables et l'ordre des instructions peuvent être différents, mais le résultat final doit être le même.
Cette inspection met en évidence les premières lignes de fragments dupliqués. Vous pouvez désormais refactoriser rapidement de telles sections de code en appuyant sur Alt+Entrée sur la ligne en évidence et en sélectionnant la refactorisation Extract Method dans le correctif rapide du code dupliqué.
PhpStorm peut également trouver des petits fragments de code dupliqués dans la portée actuelle (méthode, classe ou fichier) pendant la refactorisation.
Nouveau sélecteur intelligent pour les fragments de code
Vous pouvez également appeler la refactorisation Extract Method sans sélectionner aucun code. Dans ce cas, PhpStorm suggère une liste de fragments de code possibles. Les suggestions sont filtrées et ne contiennent que les segments pour lesquels une refactorisation est pertinente.
Inspections et correctifs rapides
Chaque version apporte une série d'inspections qui visent à réduire le temps consacré à la recherche de bugs et à leur correction. Pour appliquer un correctif rapide, utilisez Alt+Entrée sur n'importe quelle section de code mis en évidence dans PhpStorm.
La condition peut être remplacée par « ?-> »
Les vérifications inutiles de la condition null peuvent être remplacées par le nouvel opérateur sécurisé PHP 8. Appuyez sur Alt+Entrée pour effectuer la modification.
Utiliser une constante d'une classe là où elle est définie
PhpStorm met en évidence les constantes accessibles via une sous-classe ou une sous-interface et non à partir des entités dans lesquelles elles sont définies. Avec le correctif rapide Alt+Entrée, vous pouvez remplacer le nom de l'entité par le nom dans lequel la constante est définie.
Conditions redondantes dans les expressions logiques
PhpStorm évalue désormais les parties des conditions pour identifier les éventuelles redondances. Cela peut être utile lorsque les vérifications ne sont pas évidentes et que vous ne pouvez pas déterminer à première vue lesquelles sont superflues.
EDI
Exécuter des tests avant commit
JetBrains a étendu la liste des actions pré-commit avec la possibilité d'exécuter des tests. Cochez la case Run Tests et sélectionnez la configuration à exécuter. Il est utile de vérifier le code avant qu'il ne soit dans le VCS.
Désormais, vous pouvez également personnaliser les options Analyze code et Cleanup en cliquant sur Choose profile à côté de celles-ci.
Actions lors de l'enregistrement
JetBrains a ajouté une nouvelle page de configuration sous Preferences / Settings | Tools | Actions on Save. Vous y trouverez une liste d'actions qui peuvent être déclenchées avec Ctrl+S ou pendant la sauvegarde automatique. Ces actions comprennent, entre autres, la vérification du code, la mise en forme, le nettoyage du code et le déploiement.
Action Show Diff unifiée
PhpStorm ouvre par défaut une comparaison différentielle entre le fichier initial et le fichier modifié dans l'éditeur, quel que soit l'endroit où vous avez appelé l'action Show Diff. Si vous préférez suivre les modifications dans une fenêtre séparée, il vous suffit de faire glisser le fichier souhaité depuis l'éditeur et de le déposer.
Recherche textuelle dans les révisions de l'historique local
L'historique local a maintes fois sauvé de nombreux développeurs et la fonctionnalité a été encore améliorée : pour trouver rapidement un texte dans les révisions locales, vous pouvez utiliser le champ de recherche dans la boîte de dialogue Local History.
Signature GPG
PhpStorm 2021.2 offre une nouvelle façon de sécuriser vos commits. Vous pouvez maintenant signer les commits Git avec GPG. Pour ce faire, allez dans Settings | Version Control | Git, puis choisir Configure GPG Key dans la liste déroulante.
Technologies web
Toutes les nouvelles fonctionnalités et améliorations de WebStorm 2021.2 sont également disponibles dans PhpStorm 2021.2, directement ou via des plugins gratuits du référentiel de plugins.
Refactorisation Rename pour les hooks useState de Reactt
PhpStorm peut maintenant renommer à la fois les valeurs et les fonctions useState. Placez le curseur sur une valeur d'état accédez à Refactor | Rename dans le menu contextuel du clic droit.
Importation automatique pour require()
Quand vous travaillez avec des modules CommonJS, PhpStorm peut désormais ajouter les instructions d'importation manquantes lorsque vous utilisez la saisie semi-automatique du code.
Outils de base de données
Toutes les fonctionnalités de DataGrip 2021.2 sont également disponibles dans PhpStorm. En voici quelques-unes.
Source de données DDL
Il est maintenant possible de générer une source de données DDL basée sur une source réelle. Les fichiers DDL seront créés sur le disque et la nouvelle source de données sera basée sur ces fichiers. Vous pourrez ainsi toujours régénérer ces fichiers et actualiser la source de données DDL.
Saisie semi-automatique des champs et des opérateurs pour MongoDB
La saisie semi-automatique du code est désormais disponible dans la console MongoDB.
Autres améliorations
Voici quelques-unes des autres améliorations apportées par PhpStorm 2021.2 :
- Vous pouvez prévisualiser les fichiers HTML et PHP dans un navigateur en utilisant le serveur web intégré de PhpStorm. PhpStorm peut maintenant recharger automatiquement les pages ouvertes lors de l'enregistrement.
- Il est désormais plus facile de réorganiser les fenêtres d'outils. Survolez le haut de la fenêtre d'outils que vous souhaitez déplacer, faites-la glisser et déposez-la à l'endroit souhaité.
- PhpStorm nettoie automatiquement tous les répertoires de caches et de journaux dont la dernière mise à jour remonte à plus de 180 jours. Vous pouvez initier le processus manuellement dans Help | Delete Leftover IDE Directories.
- De nouvelles options de terminal ont été ajoutées pour configurer une forme de curseur et pour utiliser Option comme méta-modificateur.
- Une nouvelle page Advanced settings offrant des options pour optimiser PhpStorm a été ajoutée dans Preferences.
- La vitesse des téléchargements FTP pour les collections de fichiers importantes a été considérablement améliorée.
- Ajout de la prise en charge du paramètre levels dans dirname().
- Résolution de tous les problèmes connus concernant la mise en forme du code PHP.
Télécharger PhpStorm 2021.2