Utiliser les templates avec Eclipse et PHP
Par Clochix le samedi 22 août 2009, 13:21 - les petits tutos à toto - Lien permanent
Pascal Martin a commencé il y a peu à collecter divers trucs et astuces d'utilisation d'Eclipse[1].
Il est une fonctionnalité très pratique, mais que j'utilise trop peu : les modèles de code (template). Je les utilise peu par méconnaissance, et par flemme de les adapter à mes besoins. Mais parfois la flemme de faire un copier-coller est encore plus forte, et je prend la peine de créer un modèle pour une portion de code que j'utilise régulièrement. C'est simple, pratique, et fonctionne à l'identique que vous utilisiez PDT ou PHPEclipse.
Pour accéder aux modèles : Window / Preference / PHP / Editor /
Templates avec PDT ou Window / Preferences / PHPEclipse / PHP /
Template avec PHPEclipse.
Un modèle se compose d'un nom, correspondant à la chaîne à taper pour
l'insérer, d'un contexte (html, php ou
phpdoc) et du modèle lui-même. Dans ce modèle vous pouvez utiliser
des variables, soit prédéfinies (par exemple le nom du fichier courant, la
date...), soit que vous renseignerez.
Un exemple étant plus parlant, voici un modèle de création de getter-setter:
/**
* Get ${comment}
*
* @return ${type}
*/
public function get${Var}() {
return $$this->${var};
}
/**
* Set ${comment}
*
* @param ${type} ${var} ${comment}
*
* @return ${class} this
*/
public function set${Var}($$${var}) {
$$this->${var} = $$${var};
return $$this;
}
Les ${toto} correspondent à des variables, $$ est une variable prédéfinie pour insérer un dollar.
Pour appeler ce modèle, saisissez son nom et déclenchez l'assistant de
contenu (généralement Ctrl+Espace). Un formulaire est alors
inséré, dans lequel vous saisissez les différentes variables. On passe d'un
champ à un autre via la touche tab. Dans l'exemple ci-dessus, le
curseur va être positionné sur ${comment}. Une fois saisi, la
variable sera remplacée dans tout le modèle.
Un des avantages des modèles est de simplifier le respect de normes de programmation. Si au sein d'une équipe tout le monde utilise les mêmes templates pour créer une nouvelle classe par exemple, avec tous les PHPDoc qui vont bien, la présentation du code sera plus homogène. A chacun et chacune d'adapter à sa pratique.
Astuce supplémentaire : en complément à l'assistant de
contenu, vous pouvez aussi utiliser la complétion de mots, accessible via
Alt+/ (plusieurs fois de suite pour voir les différentes
propositions) qui se base je crois sur l'ensemble des mots du fichier. Pratique
lorsque l'assistant de contenu n'est pas dispo (dans un commentaire) ou à la
ramasse (j'ai du mal avec PHPEclipse et les constantes de classe).
Notes
[1] n'hésitez pas à aller les enrichir
Commentaires
Je me permets de te recommander de jeter un oeil aux "snippets" aussi (c'est une vue)
Merci Hervé. Il m'arrive, rarement, de m'en servir, mais plutôt comme presse-papier pour copier-coller multiple. Quand je dois faire plusieurs modifications identiques dans différents fichiers, je les stocke temporairement dans des snippets. Par contre je n'ai jamais utilisée les snippets comme templates, avec des variables. Pour celles et ceux que ça intéresse, il y a par exemple ce petit tutoriel : http://2tbsp.com/node/104e
Et pour aller encore plus loin, il existe aussi la possibilité de créer de véritables magiciens (Eclipse appelle ça des cheat sheets, mais je trouve que ça ressemble plus à des wizard) pour effectuer pas à pas une tâche un peu complexe, comme par exemple initialiser l'environnement d'un nouveau projet. Mais c'est un peu de l'artillerie lourde. Je viens de trouver cette documentation assez complète et en français sur la création de cheat sheets.
J'utilise beaucoup les snippets en HTML, genre : formulaire (balise ouvrante + attributs, balise fermante), bouton submit, div avec un id et un paragraphe à l'intérieur.