Créer un snippet pour Sublime Text


Un petit truc sympa avec Sublime Text c’est les snippets. une sorte de bout de code qui permet de faciliter la vie à bon nombre de feignasses dont je fais partie.
Ce bout de code va vous permettre d’afficher du texte prédéfini lorsque vous rentrerez le mot-clef correspondant suivi de la touche Tab.

Dans Sublime:
Dans tools > New Snippet. Vous allez voir apparaître un squelette d’un snippet prérempli.
Modifiez-le pour obtenir le code suivant.

<!-- Un snippet pour afficher une balise pre pour mes articles wordpress -->
<snippet>
	<content><![CDATA[
< pre lang="bash">$SELECTION</ pre>
]]></content>
	<tabTrigger>pre</tabTrigger>
	<!-- Optional: Set a scope to limit where the snippet will trigger -->
	<!-- <scope>source.python</scope> -->
</snippet>

Content:
Content va contenir le texte à afficher, vous avez la possibilité d’y ajouter des variables d’environnement comme récupérer le texte sélectionné avant le déclenchement du snippet (var: $SELECTION)

tabTrigger:
c’est le mot-clef suivi de la touche TAB qui va déclencher l’insertion du snippet, en général je prends les premières lettre du snippet que je veux déclencher (ipdb, pre, biatch)

scope:
Va définir le type d’environnement dans lequel on va pouvoir executer le snippet, source.python ne proposera le snippet que dans du code python. source.php pour php, etc.

Sauvegardez votre snippet et dans le cas présent entrez le mot-clef “pre” suivit de la touche TAB et ho miracle un joli texte prérempli apparaît. Si vous avez sélectionné du texte avant il sera inclu à la place de la variable $SELECTION (d’ailleurs à ce propos je n’ai pas trouvé comment le faire tout au clavier sans passer par le menu tools > snippet car la selection est remplacée par le mot-clef au clavier).

ATTENTION: sauvegardez bien votre snippet avec l’extension sublime-snippet sinon vous ne verrez pas apparaître votre snippet lors de son invocation.

Il y a d’autres options comme préremplir des bout de texte ou utiliser des regex.

J’en use et en abuse comme toute bonne feignasse qui se respecte.

18 thoughts on “Créer un snippet pour Sublime Text

  • foxmask

    n’utilisant pas sublimetext je ne visualise pas comment ça fonctionne mais ça à l’air de bien vous éclater :)

  • Sam

    Ca marche comme ça: tu tappes un alias très court, et ça te paste un snippet avec des zones que tu peux éditer en appuyant sur tab :

  • foxmask

    amusant :) je me demande d’un coup si ce genre de truc n’est pas un peu too much pour des expérimentés et que ca serait pas mal pour des novices ou bien l’inverse, s’il faut en chier quand on débute pour que “ça rentre” et quand on est expérimenté, se la couler douce avec ca ;)

  • foxmask

    en tout cas je l’avais essayé mais je perds trop de temps à le customiser ou à l’appréhender qu’à l’utiliser. Donc suis retourné à plus simple ;)

  • Max Post author

    c’est pour les deux je dirais, je suis pas un pro du pot et je m’en sers très souvent, y a rien à comprendre, c’est juste des raccourcis quoi, c’est génial je trouve.

  • Réchèr

    Je n’ai pas pu m’empêcher de désassembler la gif animée, pour voir s’il y avait des choses croustillantes qui apparaîtraient dans les listes de snippets et autres mot-clés prédéfinis.

    J’ai le regret d’annoncer que je n’ai rien trouvé. Et pire que ça, j’ai trouvé un mot-clé anti-croustillant : “PROFANITIES_LIST”.

    Et moi qui je croyais Sam&Max était plutôt contre la censure, dans l’ensemble.

  • Sam

    C’est une constante qui contient l’array [‘windows’, ‘php’, etc]

  • roro

    Putain! C’est exactement ce que j’ai commencé de faire pour les gamins avec des listes cliquables.
    Mais je ne suis pas assez calé en python pour avancer comme je le voudrais. Et puis Pfiouuu, quand on connait le “monument”, ça ne sera jamais complet.
    Et pour l’indentation automatique, c’est pas du gâteau…
    Enfin… ça occupe…

  • etno712

    Je suis en train de tester sublime text. Ça me semble plutôt bien, mais il y a un truc tout con qui m’emmerde beaucoup: Comment on fait pour utiliser les touches mortes ?!

    Exemple: je suis en bépo et je veux faire un « ê ». Je dois donc faire la combinaison de touches « ^ » puis « e ». L’inconvénient avec sublime text c’est qu’il m’écrit alors « ^e ».

  • roro

    @Max.Sont plus proche du singe que de l’humain, et c’est plus grrr que mmmm.

  • Sam

    @etno712 : je tappe en bepo sans problème sous Sublime Text sous Ubuntu. Je sais pas vraiment quoi te répondre.

  • gotcha5832

    Je deterre un vieille article mais sais tu si la technique est la même sous subliem text 3?

    J’ai crée un fichier @media.sublime-snippet

    enregistré dans Packages/User

    <![CDATA[

    @media (max-width: 640px) {

    $0

    }
    ]]>

    @media

    Redemarré sublime, mais il ne me complete pas?

Comments are closed.

Des questions Python sans rapport avec l'article ? Posez-les sur IndexError.