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

completion avec emacs

9 réponses
Avatar
noone
Bonsoir,

Je voudrais pouvoir utiliser Emacs en C++ un peu comme SharpDevelop pour
le C#...

Je voudrais savoir s'il est possible avec Emacs d'avoir toutes les
propriétés et méthodes d'un objet défini dans un autre fichier (.h .cc ...)

Je veux que dès que je tape le nom d'un objet suivi de "." ou de "->"
avoir toutes les propriétés et les méthode de cet objet.

J'ai vaguement entendu parlers des TAGS... (etags, ctags) c'est tout...

Merci d'avance.

9 réponses

Avatar
Sébastien Kirche
Le 9 fév 2005, s'est exprimé ainsi :

Bonsoir,



Bonsoir,

Je voudrais pouvoir utiliser Emacs en C++ un peu comme SharpDevelop
pour le C#...

Je voudrais savoir s'il est possible avec Emacs d'avoir toutes les
propriétés et méthodes d'un objet défini dans un autre fichier (.h .cc
...)

Je veux que dès que je tape le nom d'un objet suivi de "." ou de "->"
avoir toutes les propriétés et les méthode de cet objet.

J'ai vaguement entendu parlers des TAGS... (etags, ctags) c'est tout...



Je ne fais pas de C# et je ne connais pas SharpDevelop.
Mais je pense qu'ECB (Emacs Code Browser) pourrait faire ce que tu décris et
bien plus encore.

Personnellement je m'en suis servi pour le moment que comme frontal CVS mais
je crois qu'il fournit tout ce qu'il faut en assistance de saisie du code.

Regarde de ce côté : http://ecb.sourceforge.net/

--
Sébastien Kirche
Avatar
noone
Personnellement je m'en suis servi pour le moment que comme frontal CVS mais
je crois qu'il fournit tout ce qu'il faut en assistance de saisie du code.

Regarde de ce côté : http://ecb.sourceforge.net/




je pense que tu dis ceci par rapport à ça :

"
a list of functions/classes/methods/... in the current file, (ECB uses
the Semantic Bovinator, or Imenu, or etags, for getting this list so all
languages supported by any of these tools are automatically supported by
ECB too)
"

il est bien dit "in the current file"

non ça ne me semble pas être ça...

ça rajoute juste un joli arbre avec les fonctions de la classe en cours...


Imagine une classe ClassA qui contient des fonctions public ActionA1
ActionA2

dans le main

ClassA a = new ClassA();

tu tapes

a-> (et là tu vois ActionA1 et ActionA2... qui ne sont pas dans ce
fichier...)

ou a. (je ne sais plus... je suis pas un pro du C++)



par contre je garde le nom "ECB"... ça peut être utile... mais pas pour
ça...
Avatar
Sébastien Kirche
Le 9 fév 2005, vraute :

il est bien dit "in the current file"

non ça ne me semble pas être ça...

ça rajoute juste un joli arbre avec les fonctions de la classe en cours...



En fait il te faudrait JDEE (Java Development Enviromnet for Emacs
http://jdee.sunsite.dk/ voir Code Completion dans le quick tour) mais pour
du C++...

Mais je ne crois pas que JDEE permette l'édition de code C++. Désolé.

Reste peut-être CEDET (http://cedet.sourceforge.net/) ?

--
Sébastien Kirche
Avatar
Slaanesh
wrote:
Je voudrais pouvoir utiliser Emacs en C++ un peu comme SharpDevelop pour
le C#...
Je voudrais savoir s'il est possible avec Emacs d'avoir toutes les
propriétés et méthodes d'un objet défini dans un autre fichier (.h .cc
...)
Je veux que dès que je tape le nom d'un objet suivi de "." ou de "->"
avoir toutes les propriétés et les méthode de cet objet.


J'avoue que c'est le genre de fonctionnalités qui me manque aussi lorsque je
code avec emacs et ce quelque soit les langages (c, php, perl ou je ne sais
quoi...)
Si jamais quelqu'un trouve quelque chose, je suis preneur !

--
Slaanesh
Avatar
noone
J'avoue que c'est le genre de fonctionnalités qui me manque aussi lorsque je
code avec emacs et ce quelque soit les langages (c, php, perl ou je ne sais
quoi...)
Si jamais quelqu'un trouve quelque chose, je suis preneur !




J'adore Emacs... mais il faut bien reconnaitre que celui qui a codé avec
autre chose un jour (Visual Basic, Visual Studio, SharpDevelop,...) voit
rapidement ce qui manque le plus : la completion de méthode, attributs
d'objets.

Imaginons aussi qu'en plus d'aller chercher dans les fichiers de notre
projet, Emacs aille aussi chercher dans les fichiers d'en-tête standards.
Avatar
Matthieu Moy
"" writes:

Imaginons aussi qu'en plus d'aller chercher dans les fichiers de notre
projet, Emacs aille aussi chercher dans les fichiers d'en-tête
standards.



Je crois bien que c'est ce que semantic est censé faire. J'avais fait
une tentative, mais sans succès, il n'arrivait rien a completer, et
faisait ramer mon Emacs. Il faudrait que je réessaye un de ces jours.

--
Matthieu
Avatar
drkm
Sébastien Kirche writes:

Le 9 fév 2005, vraute :

il est bien dit "in the current file"

non ça ne me semble pas être ça...

ça rajoute juste un joli arbre avec les fonctions de la classe en cours...



En fait il te faudrait JDEE (Java Development Enviromnet for Emacs
http://jdee.sunsite.dk/ voir Code Completion dans le quick tour) mais pour
du C++...

Mais je ne crois pas que JDEE permette l'édition de code C++. Désolé.

Reste peut-être CEDET (http://cedet.sourceforge.net/) ?



JDEE, tout comme ECB, se base sur CEDET, qui contient Semantic. Je
sais qu'il y a moyen d'arriver au résultat escompté. Je pense qu'il
faut spécifier le « projet » auquel appartient le fichier éditer,
ainsi éventuellement que la SemanticDB « système », représentant les
bibliothèques standard du système.

Mais je n'ai jamais utilisé ces fonctionalités. C'est une question
récurrente sur les MLs d'ECB et CEDET. Les archives devraient fournir
toutes les réponses voulues. Pour CEDET, <URL:http://cedet.sf.net/>.
Pour ECB, je pense qu'il s'agit également de SF.net, mais je ne suis
plus sûr.

--drkm
Avatar
Slaanesh
wrote:
Imaginons aussi qu'en plus d'aller chercher dans les fichiers de notre
projet, Emacs aille aussi chercher dans les fichiers d'en-tête standards.


ALors là je serais vraiment un codeur heureux !

--
Slaanesh
Avatar
drkm
Slaanesh writes:

wrote:

Imaginons aussi qu'en plus d'aller chercher dans les fichiers de notre
projet, Emacs aille aussi chercher dans les fichiers d'en-tête standards.



ALors là je serais vraiment un codeur heureux !



Cfr. SemanticDB (rem. : je ne l'utilise pas).

--drkm