2009-10-21 8 views
13

Mis herramientas habituales son Emacs con g ++ en un sistema Linux para implementar mis algoritmos de investigación. Durante los últimos años, he usado emacs de una manera bastante básica. Abro archivos C o C++, los edito con un esquema de resaltado de sintaxis de mi elección y compilo y hago otras cosas desde dentro de emacs (o tal vez desde un terminal), incluido el uso de gdb dentro de emacs para la depuración. Sé sobre etags y ctags y he jugado un poco con etags y emacs, pero no parece encontrar ese "punto ideal" con las herramientas.emacs, etags y usando emacs como IDE

Me preguntaba, ¿qué hacen los demás para configurar emacs solo para que encaje bien con etags y otras herramientas? ¿Qué ajustes hay que hacer a emacs para que sea un IDE mejor?

Respuesta

16

Para solo información de etiquetado, también recomiendo GNU Global. CScope puede hacer mucho también. En ambos casos, proporcionan una forma de encontrar la ubicación de una etiqueta por nombre, y también los usos de una etiqueta en particular.

Para "IDE Stuff" hay más que solo un sistema de etiquetado. Por eso, recomiendo el conjunto de herramientas CEDET para Emacs. Esto proporciona un sistema de gestión de proyectos (EDE) que puede crear Makefiles para compilar el código para usted. También hay una parte de análisis sintáctico y de código (Semántica) que proporciona una finalización inteligente. Existe un sistema de generación de plantilla/código (SRecode) que puede convertir etiquetas de semántica nuevamente en código. Incluso hay un editor de diagramas UML (COGRE) que puede generar código a partir de un diagrama de clases que dibuje en Emacs.

La mayoría de las personas que usan CEDET solo usan el analizador y los sistemas inteligentes de finalización, posiblemente en combinación con ECB, y está bien usar solo un subconjunto de CEDET.

Para una buena medida, CEDET también se integrará con las bases de datos de GNU Global para que pueda hacer referencia a los usos de los símbolos además de las ubicaciones de las etiquetas junto con la interfaz regular de GNU Global para Emacs.

+0

2samix: puede ser que les sea útil mi artículo sobre CEDET - http://xtalk.msk.su/~ott /es/writings/emacs-devenv/EmacsCedet.html –

3

Recientemente hemos comenzado a usar GNU Global como reemplazo de etags, y he quedado bastante impresionado. También usamos idutils, que proporciona una forma rápida de buscar cualquier cadena en el código fuente.

+0

¿Podría explicarnos un poco sobre por qué parece preferir Gnu Global a los etags? De hecho, esta es la primera vez que escucho sobre Gnu Global y no sé nada al respecto. Me pregunto cómo se compara con Etags. Desde el sitio web de Gnu Global sé que admite menos idiomas, pero estoy más interesado en C y C++, por lo que no es un problema. Gracias. – user193272

+1

búsqueda mucho más rápida, los gtags también se usan en CEDET y permite encontrar llamadas a funciones específicas, etc. –

+1

Estoy de acuerdo con Alex, los gtag son mucho más rápidos que los etags y generalmente más precisos. Encontré algunos problemas donde estaba incorrectamente analizando el código, pero en su mayor parte funciona bien. – MikeT