DEV Community

Adrien Pétremann
Adrien Pétremann

Posted on

PHPStorm Tips #5 : Toute la pouissance des Live Templates

Aujourd'hui, on attaque un autre morceau de la tempête, les Live Templates !

C'est ultra puissant et customisable, l'idée c'est de se l'approprier pour faire vos propres Live Templates. Prêts ? Allez on attaque.

Le principe ⚙️

L'idée est de "programmer" un raccourci de texte qui va générer un snippet de code préformaté. Par exemple, si t'en as marre de copier/coller la license des fichiers :

Image description

Tu peux créer un Live Template, et dès que tu écris "license", et que tu complètes avec Tab, BIM, le snippet est généré.

Image description

Pour faire ça, rendez-vous dans les Live Templates :

Image description

Puis en cliquant sur le +, on peut ajouter un Live Template dans le langage que l'on veut, ici, on va le créer en PHP :

Image description

Les variables 🔢

Alors si c'était juste des snippet fixes, ça serait vite limité. Là où PHPStorm est pratique, c'est que ton snippet peut contenir des variables dynamiques.

Si on reprend l'exemple de la license pour rajouter l'année :

Image description

Ici, on veut que 2022 soit toujours l'année actuelle, pour ça, on va passer par une variable en modifiant notre Live Template :

Image description

La syntaxe pour les variables c'est $NOMDELAVARIABLE$.
Une fois qu'on a des variables, on va pouvoir les éditer :

Image description

Dans cette nouvelle fenêtre, on va retrouver les variables de notre Live Template, et on va pouvoir modifier tout ça :

Image description

Chaque variable peut suivre une Expression pré-définie : une date, un formattage spécifique (camel case, snake case...), le nom d'un fichier, une concaténation... tu peux voir toutes les Expressions sur cette page.

Nous, ici, on veut l'année en cours, donc on va utiliser date() :

Image description

En lui passant "yyyy", on aura l'année ! Donc maintenant, quand on va utiliser notre Live Template, il sera toujours à l'année actuelle :

Image description

Autre example 🧠

Allez, pour illustrer, un exemple un peu plus complexe avec l'utilisation des variables, un Live Template "specfunc" pour rapidement créer une function pour un PHPSpec :

Image description

Rien de bien compliqué, 2 variables : (ne faites pas attention à $END$ pour le moment) :

Image description

FUNC_NAME_SNAKE prendra donc la variable de FUNC_NAME sous forme de snake case ! Donc d'abord on appelle notre live template en tapant "specfunc", puis le Live Template se lance, on a donc la main pour écrire notre variable, et l'autre est calculée :

Image description

Et voilà, plus besoin de se faire des crampes aux mains en écrivant une phrase avec des underscores.

Note : on peut mettre $END$ pour placer le curseur où on veut une fois que le Live Template est terminé. Ici, je le mets au niveau du commentaire, pour pouvoir rapidement le supprimer.

⛈️ Le commentaire de l'expert : Pour aller plus loin, la doc de JetBrains est plutôt bien fichue, n'hésitez pas à aller fouiner des bonnes astuces : https://www.jetbrains.com/help/idea/using-live-templates.html

Top comments (0)