Accueil Tuto Astuces de développeur Web – n°3 : La liste des fonctions avancées pour les Live Templates de PHPStorm
PHPStorm Fonction Live Templates

Astuces de développeur Web – n°3 : La liste des fonctions avancées pour les Live Templates de PHPStorm

par Jérémy PASTOURET

Dans ce nouvel article, nous allons continuer à améliorer nos live templates PHPStorm. Si vous ne savez pas de quoi je parle, je vous conseille de lire mon précédent article qui vous permettra de comprendre l’importance d’utiliser des live templates. 

Pour continuer à vous améliorer, je vous ai traduit pour la première fois la liste des fonctions implémentables dans les live templates de PHPStorm. Je vais commencer par vous montrer comment utiliser une fonction, puis je vous propose de découvrir le tableau ci-dessous afin de vous rendre compte du champ des possibles.

Pour appliquer un live template, je vous propose d’en créer un nouveau. Vous devez vous rendre sur la fenêtre suivante : File -> Settings... -> Editor -> Live Templates.

Pour notre exemple, nous allons poursuivre avec du HTML sur le même thème que l’article précédent. Il faut donc cliquer sur html/xml, appuyer sur le bouton + puis sélectionner Live Template. Dans l’abréviation, on va mettre smartInput. Sans oublier de spécifier le contexte (message rouge en dessous du champ Template text) en indiquant HTML. Puis on écrit un simple input dans la partie Template text. Voici le code :

$NOM_CHAMP_NOM$ :
<input type="$TYPE$" name="$CHAMP$" id="$CHAMP$" placeholder="$PLACEHOLDER$" />

Si on fait un input Nom du fournisseur, on est d’accord que la différence entre $NOM_CHAMP_NOM$ = 'Nom du fournisseur' et la variable $CHAMP$ = 'nomDuFournisseur' relève du camelCase (on supprime les espaces et on met des majuscules sur les premières lettres).

Traditionnellement, on l’écrit soi-même d’une manière robotique, mais on peut aussi le réaliser avec notre éditeur favori PHPStorm.

Pour ce faire, l’IDE propose une fonction que vous allez retrouver plus bas qui se nomme camelCase. Pour l’utiliser, rien de plus simple. Vous devez cliquer sur le bouton Edit variables qui se trouve à droite.

Edit variable PHPStorm

En cliquant dessus, vous obtenez une petite fenêtre récapitulant les variables écrites dans le champ Template text.

Maintenant, nous allons pouvoir indiquer à PHPStorm quelles sont les fonctions à utiliser pour telle ou telle variable. Dans notre cas, nous allons utiliser la fonction camel case sur le CHAMP.

Pour ce faire, vous allez cliquer sur la colonne Expression de la ligne Champ, puis écrire camelCase(NOM_CHAMP_NOM). Vous obtenez alors la fenêtre suivante :

Function Live Template

👉 Petite astuce : lorsque vous écrivez la fonction dans la colonne expression, PHPStorm attend que vous appuyiez sur la touche entrée pour valider votre expression.

Ensuite vous cliquez sur OK, puis Apply, puis OK. Je précise que vous pouvez tester cette création dans un fichier HTML. Si vous êtes sceptique, je vous propose ce petit GIF de démonstration :

smartInput Live Template PHPStorm

Je vois bien dans vos yeux de lecteur/développeur que vous voulez en savoir plus. C’est la raison pour laquelle je vous propose la liste complète des fonctions utilisables dans PHPStorm pour les live templates.

Tout est traduit et vous retrouverez des exemples sur quasiment toutes les fonctions. Essayez plein de choses, commentez, et envoyez-nous vos meilleures créations ! Nous les partagerons sur le blog.

Dans le prochain article, nous verrons comment améliorer notre smartInput avec les nouvelles fonctions présentées ci-dessous. Si cela vous plaît toujours, nous aborderons ensuite d’autres live templates plus pointus.

Liste des fonctions PHPStorm pour live template

Nom de la fonctionDescriptionExemple
camelCase(String)Convertit une chaîne en camel case (une fonction très utile)my-text-file ou my text file ou my_text_file => myTextFile
capitalize(String)Capitalise la première lettre d’une chaînechamps => Champs
capitalizeAndUnderscore(sCamelCaseName)Capitalise toutes les lettres d’un camelCase et remplace les espaces par un underscore FooBar => FOO_BAR
classNameComplete()Permet à l’utilisateur d’autocompléter le nom d’une classe de son projetmain => mainClass
 clipboard()Insère une donnée qui a été copiée dans votre presse papier 
 snakeCase(String)Transforme un texte minuscule avec underscore en camelCasefoo_bar => fooBar
complete()Utilise l’auto-complétion de code pour compléter une variable$mavariable => $mavariable1 car précédement $mavariable1 a été défini
completeSmart()Même système que le précédent mais plus général et intelligent 
 date(sDate)PHPStorm applique un format de date sur une date saisieSi on met le format dd MMM yyyy en paramètre de la fonction date et qu’on écrit en date 11/23/12, la date est transformée en 23 Nov 2012.
decapitalize(sName) Transforme la première lettre en minusculePrenom => prenom
enum(sCompletionString1,sCompletionString2,...)PHPStorm crée une liste déroulante de possibilités à insérer  Par exemple sur un input HTML, PHPStorm peut afficher une liste de type :

 

  • number
  • text
  • date
escapeString(sEscapeString)Supprimer des caractères dans une chaîne escapeString(‘é’) sur le prénom Jérémy => Jrmy
expectedType()Retourne le type d’un élément Si on définit une variable de type string et que le langage nous demande de préciser le type, cette fonction va l’écrire toute seule.

 

expectedType chaine => string chaine

fileName(sFileName)Retourne le nom du fichier avec l’extension/var/www/monfichier.txt => monfichier.txt
fileNameWithoutExtension()Retourne le fichier sans extensionmonfichier.txt => monfichier
firstWord(sFirstWord)Retourne le premier mot d’une chaîne de caractèremon mot => mon
lineNumber()Retourne le numéro de la ligne courantePeut être utile pour faire du débug en affichage : echo lineNumber() => echo 10
lowercaseAndDash(String)Retourne une chaîne en minuscule séparée par des –MonExempleNom => my-exemple-name
snakeCase(sCamelCaseText)Retourne un texte en remplaçant les majuscules par des minuscules et en les séparant par des underscoresnakeCase test Encore => snake_case_test_encore
 spaceSeparated(String) Transforme un texte CamelCase en minuscule avec espacefooBar => foo bar
time(sSystemTime)Retourne l’heure courante du système12:28 (peut être utile pour du debug)
timestamp()Retourne le temps courant en millisecondes1491906607694
underscoresToCamelCase(sCamelCaseText)Retourne une chaîne qui a n’a plus d’underscore mais ajoute une majusculefoo_bar => fooBar
 underscoresToSpaces(sParameterWithSpaces)Remplace une chaîne passée en paramètre avec des espaces à la place des underscores un_bateau_bleu => un bateau bleu
user() Retourne le nom de l’utilisateur courant Jeremy
jsArrayVariable() Retourne un nom de tableau Javascript
jsArrayVariable
jsClassName() Retourne le nom de la classe Javascript courante ClassName
jsComponentTypeRetourne le type d’un composant Javascriptstring
jsMethodName()Retourne le nom de la méthode courante methode
jsQualidiedClassName() Retourne le nom complet de la classe courante en Javascript ClassCompleteName
jsSuggestIndexNameRetourne une suggestion de nom pour un indexi
jsSuggestVariableNameRetourne une suggestion de nom pour une variableobj

Vous pourriez aussi aimer

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.