2009-10-21 13 views
13

Mes outils habituels sont Emacs avec g ++ sur un système Linux pour implémenter mes algorithmes de recherche. Au cours des dernières années, j'ai utilisé emacs de façon plutôt basique. J'ouvre des fichiers C ou C++, les édite avec un schéma de coloration syntaxique de mon choix et compile et fais d'autres choses depuis emacs (ou peut-être depuis un terminal), y compris en utilisant gdb dans emacs pour le débogage. Je connais les etags et ctags et j'ai un peu joué avec etags et emacs mais je ne trouve pas ce "sweet spot" avec les outils.emacs, etags et utiliser emacs comme IDE

Je me demandais, que font les autres pour configurer emacs juste pour qu'il s'intègre bien avec etags et d'autres outils? Quels ajustements faut-il faire à emacs pour en faire un meilleur IDE?

Répondre

16

Pour juste marquer des informations, je recommande également GNU Global. CScope peut aussi faire beaucoup. Dans les deux cas, ils fournissent un moyen de trouver l'emplacement d'une étiquette par son nom, ainsi que les utilisations d'une étiquette particulière.

Pour "IDE Stuff", il ne s'agit pas seulement d'un système d'étiquetage. Pour cela, je recommande l'ensemble d'outils CEDET pour Emacs. Cela fournit un système de gestion de projet (EDE) qui peut créer Makefiles pour compiler votre code pour vous. Il y a aussi une partie analyse et analyse de code (Semantic) qui fournit une complétion intelligente. Il y a un système de génération de gabarit/code (SRecode) qui peut convertir les balises de la sémantique en code. Il existe même un éditeur de diagramme UML (COGRE) qui peut générer du code à partir d'un diagramme de classes que vous dessinez dans Emacs.

La plupart des utilisateurs de CEDET n'utilisent que l'analyseur et les systèmes de complétion intelligents, éventuellement en combinaison avec ECB, et il est permis d'utiliser uniquement un sous-ensemble de CEDET. Pour une bonne mesure, CEDET s'intégrera également aux bases de données GNU Global afin que vous puissiez référencer les utilisations de symboles en plus des emplacements de balises avec l'interface GNU Global habituelle pour Emacs.

+0

2samix: peut être que vous trouverez utile mon article sur CEDET - http://xtalk.msk.su/~ott /fr/writings/emacs-devenv/EmacsCedet.html –

3

Nous avons récemment commencé à utiliser GNU Global en remplacement de etags, et j'ai été assez impressionné. Nous utilisons également idutils qui fournit un moyen rapide de rechercher des chaînes dans le code source.

+0

Pourriez-vous nous expliquer pourquoi vous semblez préférer Gnu Global à etags? En fait, c'est la première fois que j'entends parler de Gnu Global et je n'en sais rien. Je me demande comment cela se compare avec Etags. Depuis le site Web de Gnu Global, je sais qu'il supporte moins de langues, mais je suis surtout intéressé par C et C++, donc ce n'est pas un problème. Merci. – user193272

+1

recherche beaucoup plus rapide, gtags sont également utilisés dans CEDET et permet de trouver des appels à des fonctions spécifiques, etc. –

+1

Je suis d'accord avec Alex, gtags sont beaucoup plus rapides que etags et généralement plus précis. J'ai trouvé quelques problèmes où il était incorrect d'analyser le code, mais pour la plupart, cela fonctionne bien. – MikeT