Utilisation des CTags avec Sublime Text

Date: 16/12/2013 | Catégories: Developpement,Open-source,Planet-libre | Tags: ,,

capture_147CTags est un outil pour les développeurs permettant de construire un index des fonctions et classes utilisées. Cela permet donc à un éditeur de texte compatible avec CTags de ce déplacer rapidement et sans "parsing" inutile dans l’arborescence de votre projet. On peut ainsi, à l'aide d'une simple combinaison de touches, aller directement à la définition d'une fonction.

Nous allons dans ce billet voir comment installer et configurer CTags avec l'éditeur de texte Sublime Text 3 dans un environnement Debian/Ubuntu.

Note: la procédure est grosso modo la même pour d'autres éditeurs comme Vim , Emacs ou GEdit.

Installation de CTags

CTags est disponible dans les dépôts de toutes les distributions. Sous Ubuntu, une simple ligne de commande:

devrait suffire pour installer une version stable de CTags.

Note: Pour installer CTags à partir des sources, toutes les informations se trouvent sur le site officiel.

Création de l'index pour votre projet

Il existe de nombreuses manières pour construire les fichiers index CTags. La plus simple est de se rendre dans le répertoire de votre projet (par exemple ~/dev/monprojet) puis de saisir la commande suivante:

On demande donc au logiciel ctags de générer le fichier index nommé .tags (option -f .tags) à effectuant un parsing récursif (option -R) de l'arborescence de votre projet.

Ce fichier doit être régénéré à chaque ajout de fonction ou de classe. Cela se fait par une combinaison de touche dans SublimeText mais peut aussi être automatisé par un hook après un commit Git.

Installation du plugin Ctags dans Sublime Text

Je pars sur le principe ou votre Sublime Text est installé avec le plugin Package Manager (si ce n'est pas le cas, suivre cette procédure).

Une fois Sublime Text lancé, on commence par appuyer sur la combinaison de touche SHIFT+CTRL+P puis de saisir le mot clé Install Package. La liste des plugins disponibles va se charger, on cherche ensuite le plugin CTags et on l'installe.

Utilisation de CTags dans Sublime Text

Au démarrage de Sublime Text dans le répertorie de votre projet (~/dev/monprojet) , le fichier index de Ctags (.tags)  va automatiquement être chargé. Il ne vous reste plus qu'à utiliser les combinaisons de touches suivantes pour naviguer dans les classes et fonctions de votre code source:

CommandeKey Binding
Générer / Re-générer le fichier index CtagsCTRL+t, CTRL+r
Aller à la définition de la fonction/classeCTRL+t, CTRL+t
Revenir en arrièreCRTL+t, CTRL+b
Affiche la liste des fonctions/classes (fichier en cours)ALT+s
Affiche la liste des fonctions/classes (tous les fichiers du projet)ALT+SHIFT+s

Conclusion

L'utilisation des CTags apporte un gain de productivité non négligeable lors du développement logiciel. Le fait d'avoir une base commune et ouverte (le fichier .tags étant à plat et au format texte) permet de passer d'un éditeur à un autre sans perte de fonctionnalité.

Utilisez-vous les Ctags ? Si oui comment.

Partagez cela avec nous !

  • Alpheb

    Attention tout de même, Sublime Text n’est pas libre! (Cet article est présent sur planet-libre)

    • http://blog.nicolargo.com/ Nicolas Hennion

      Oui mais CTags l’est et peut être utilisé avec des éditeurs libres…

      • Alpheb

        Bien entendu. C’est juste que ça fait deux fois en quelques jour qu’on voit passer des news pour cet éditeur non-libre sur le planet-libre.