Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

etags/ecb - C++ : obtenir la definition d'une classe

3 réponses
Avatar
Marc Boyer
Bonjour à tous,

est-il possible avec ecb et/ou etags d'accéder à la définition
d'une classe à partir de son nom.

Si j'ai dans un code:
Foo f;
avec Foo, un nom de classe, avec etags+ M-., il m'ammène
à la définition d'un constructeur, pas la classe elle même
(dans foo.hpp).

Dans la doc d'ecb, il y a une entrée
"Displaying the definition of the current symbol"
http://ecb.sourceforge.net/docs/Symboldefinition.html#Symboldefinition
mais elle est vide...

Une piste de recherche d'info .

Merci,
Marc Boyer
--
Si tu peux supporter d'entendre tes paroles
Travesties par des gueux pour exciter des sots
IF -- Rudyard Kipling (Trad. André Maurois)

3 réponses

Avatar
fabien.chene
Marc Boyer writes:

Bonjour à tous,



Bonjour Marc,

est-il possible avec ecb et/ou etags d'accéder à la définition
d'une classe à partir de son nom.

Si j'ai dans un code:
Foo f;
avec Foo, un nom de classe, avec etags+ M-., il m'ammène
à la définition d'un constructeur, pas la classe elle même
(dans foo.hpp).

Dans la doc d'ecb, il y a une entrée
"Displaying the definition of the current symbol"
http://ecb.sourceforge.net/docs/Symboldefinition.html#Symboldefinition
mais elle est vide...

Une piste de recherche d'info .



Une maigre piste peut-être, puique je n'utilise pas ecb.

Il me semble bien qu'ecb se base sur semantic ; à ce moment là, tu
dois avoir à disposition la séquence C-c , j qui te permet de sauter
sur la définition de la classe si le symbole entré est le nom d'une
classe.

Il faut mettre une de ces 3 lignes dans le .emacs :

(semantic-load-enable-code-helpers)
(semantic-load-enable-excessive-code-helpers)
(semantic-load-enable-guady-code-helpers)

Mais bon, cela fonctionne mal pour moi. Cela fonctionne pour moi
lorsque la définition de la classe est dans le même fichier, mais
c'est plutôt rare comme situation.

Cependant, lorsque le point est sur le nom d'une classe, le minibuffer
se rempli avec la définition (un peu symbolique) de la définition de
la classe. Mais bon honnêtement, je trouve cela passablement ennuyeux.

Ce que je trouve le plus utile, c'est la speedbar en mode
« analyse » : M-x semantic-speedbar-analysis, qui affiche une liste de
complétion parfois pas idiote - et le fait d'afficher de l'aide dans
la speedbar est une bien meilleure idée que de le faire dans le
minibuffer AMHA.


--
Fab
Avatar
fabien.chene
(Fabien Chêne) writes:

Marc Boyer writes:

est-il possible avec ecb et/ou etags d'accéder à la définition
d'une classe à partir de son nom.

Si j'ai dans un code:
Foo f;
avec Foo, un nom de classe, avec etags+ M-., il m'ammène
à la définition d'un constructeur, pas la classe elle même
(dans foo.hpp).

Dans la doc d'ecb, il y a une entrée
"Displaying the definition of the current symbol"
http://ecb.sourceforge.net/docs/Symboldefinition.html#Symboldefinition
mais elle est vide...

Une piste de recherche d'info .





Je viens de découvrir cscope, intégré à emacs sous le nom
« xcscope ». Le genre d'outil dont on est convaincu au bout de 30
secondes d'utilisation :-) Excellent. Et cela permet de retrouver la
définition d'une classe, en particulier.

--
Fab
Avatar
Marc Boyer
Le 08-05-2007, Fabien Chêne a écrit :
(Fabien Chêne) writes:
Je viens de découvrir cscope, intégré à emacs sous le nom
« xcscope ». Le genre d'outil dont on est convaincu au bout de 30
secondes d'utilisation :-) Excellent. Et cela permet de retrouver la
définition d'une classe, en particulier.



Merci pour ces deux informations.
Dès que j'ai le temps de me remettre au code, je regarde.

Marc Boyer
--
Si tu peux supporter d'entendre tes paroles
Travesties par des gueux pour exciter des sots
IF -- Rudyard Kipling (Trad. André Maurois)