Sublime Text : créer un snippet

Un snippet est un bout de code qui permet d’insérer du texte grâce à un mot clé. Par exemple, dans Sublime Text, lorsqu’on saisit « lorem » puis qu’on appuie sur la touche Tab, un paragraphe « Lorem Ipsum » est inséré dans le fichier.

Posséder ses propres snippets peut être intéressant pour gagner en productivité. Un exemple simple en Ruby on Rails : on veut obtenir la méthode link_to en saisissant « lt ».

Pour cela, dans Sublime, il faut créer un nouveau snippet (Tools > Developer > New Snippet…). On obtient ainsi un exemple XML de snippet que l’on peut modifier.

  • La balise <content> doit contenir le texte à insérer.
  • La balise <tabTrigger> contient le mot-clé à saisir pour insérer le snippet.
  • La balise <scope> permet de limiter la visibilité du snippet à certains types de fichiers
  • On peut également ajouter une balise pour afficher une description lors de l’appel du snippet

Le CDATA permet de saisir des caractères spéciaux dans le contenu du fichier XML

Les mots label, url et title sont trois variables que l’on modifiera à chaque fois. C’est pourquoi ils sont placés dans ${…}. Le ${1:label} met ainsi le mot « label » en surbrillance lorsque le snippet est inséré. Une fois modifié, on appuie sur Tab. Le mot url est alors mis en surbrillance, et ainsi de suite.

saisie d'un snippet

Une fois le snippet saisi, il faut l’enregistrer dans le répertoire User (Sublime Text3/Packages/User) avec l’extension .sublime-snippet. Il devient alors utilisable dans Sublime-Text. Il suffit de saisir « lt » puis d’appuyer sur Tab pour insérer un link_to.

Vous pouvez retrouver les snippets que nous utilisons sur Github : https://github.com/maattt/sublime-text3-config/tree/master/Packages/User/snippets.

3 réponses sur “Sublime Text : créer un snippet”

  1. Bonjour,
    Merci pour votre tutoriel, je voulais savoir si on pouvait changer la touche qui permettait d’aller d’argument en argument. J’utilise tab pour faire de la complétion et parfois je trouve que les deux utilisations de tab (complétion + pour passer de « label » à « url » puis à « titre ») sont en conflit.
    Merci d’avance !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.

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