geenux a écrita- Pour la complétition j'ai trouvé dans tes plugins mon bonheur.
b- Il me manque juste quelque chose. L'autocréation de classes : quand on tape class Truc, j'aimerais qu'il me complète la définition de classe, qu'il créé le constructeur/destructeur.
c- Existe-t-il un moyen comme dans emacs de créer à partir d'une classe, le fichier d'implémentation?
a- Ah!? J'ai ça moi? Tu m'intrigues (soit c'est trop évident pour que je vois ce à quoi tu penses, soit on a une version légèrement différente de "complétion") 😉
b-[La dernière fois que j'ai fais ça, mon message s'est fait dégager d'ici en quelques heures, alors il va falloir aller vite.]
Ballades-toi sur le site sur googlecode dont j'ai donné l'adresse juste au dessus. Va sur la page lhCpp, vois si la courte description du wizard (si si, il pose des questions intelligentes sur la sémantique que l'on veut donner à la classe) de génération de classe te va. Si oui, tu vas avoir plein de trucs à récupérer, dont deux par subversion (map-tools/v1.0.0beta, et lhCpp). Au final tu n'es pas obligé de tout utiliser, mais il va te falloir regarder fichier par fichier ce que tu voudras garder (je n'ai pas trop eu le temps de m'occuper de la doc).
L'important (pour ta question), c'est mu-template+map-tools+lhvimlib qui est utilisé par un fichier template de lhcpp (qui requiert aussi plusieurs autoload plugins de lhcpp).
c- Je ne connais rien qui parse automatiquement toutes les fonctions du .h pour générer les squelettes dans le .c/.cpp
Toutes fois, avec peu d'huile de coude et lhcpp, tu as:
- :CppUnmatchedFunctions qui liste les fonctions de la classe courante (ou du pattern en paramètre) pour lesquelles il n'y a pas de déclaration ou pas de définition. Ca, c'est pour naviguer.
- :GOTOIMPL (qui n'est pas complètement bug free 🙁) , qui permet de générer un squelette d'implémentation à partir d'une (et une seule) déclaration
L'huile de coude, c'est pour appliquer :GOTOIMPL sur chaque fonction de ton .h
Algorithmiquement, le premier est très simple, mais je ne lui connais pas de concurrents. Pour le second, je m'étais appuyé sur le boulot de Robert Kelly IV et son tip sur vim.org, entre temps j'ai repris le flambeaux et je ne connais aucun autre concurrent.
(Si tu veux t'amuser à utiliser les API (qu'un jour je documenterai) de CppUnmatchedFunctions et de GOTOIMPL pour pondre une solution qui fait tout automatiquement, tu es le bienvenu, je pourrais même l'intégrer au reste)
Voilà, HTH (et Hope que cela passe le filtre à pubs des modos)
(Si tu as des questions plus précises, contactes moi peut-être plutôt par mail pour pas polluer plus le fil)