2011-04-27 12 views
15

Uso emacs como IDE principal para programar en C. Estoy explorando formas de configurar emacs para que funcionen más como IDE que como editor de texto simple. Por supuesto, quiero resaltar la sintaxis y, preferiblemente, algún código de finalización. También quiero buffers separados para permitir comandos de shell y M-x compilar. Quiero que se abra automáticamente en este formulario multi-buffer cuando se visita un archivo fuente C, en lugar de tener que abrir cada buffer por separado. Lo usaré principalmente para el desarrollo Linux/BSD Unix, aunque también código en Mac OS X (nuevamente Unix) y Windows (Windows 7 64bit).Emacs como C Programación de la configuración IDE?

Exploré el kit de inicio de Emacs publicado por Phil Hagelberg (tecnomancia), pero parece muy orientado hacia los lenguajes dinámicos y el uso de git. Yo uso emacs principalmente para desarrollar en C y usar mercurial para VC. También soy relativamente novato y la configuración de emacs es relativamente desalentadora para mí.

Ahora estoy jugando con CEDET y el paquete Emacs Code Browser (ECB), que está más en la línea de lo que quiero, pero todavía no es perfecto.

Cualquier sugerencia sobre cómo personalizar emacs como una programación C IDE welcome.

+3

[Este] (http://stackoverflow.com/questions/63421/using-emacs-as-an-ide) es similar – mdec

Respuesta

24

Ha pasado un tiempo desde que hice C pero aquí hay algunos consejos.

  1. Use flymake para el análisis de errores sobre la marcha. Lo he usado para Python y C y es realmente increíble.
  2. El resaltado de sintaxis está ahí por defecto en el modo C.
  3. La compilación M-x está orientada a make, por lo que si tiene un Makefile en su configuración, debería funcionar bien (las reglas de flymake defaults también usan esto). Una regla como esta

    check-syntax:

     gcc -Wall -o nul -S ${CHK_SOURCES} 
    

    se haría cargo de flymake. This es útil cuando edita en subdirectorios pero desea compilar desde la parte superior.

  4. etags es útil para saltar el código. GnuGlobal también parece ser popular.
  5. No puedo comentar sobre el BCE porque nunca lo he conseguido realmente para funcionar completamente y cuando lo hice de alguna manera, nunca lo encontré tan útil. Yo uso autocomplete.el para completar, pero no es sensible al contexto.
  6. no hay ninguna sugerencia 6.
  7. La integración vc incorporado no es tan caliente para git y así lo uso magit lugar. Debería haber problemas similares con mercurial.
  8. Aquí hay algunas notas sobre la configuración de su indentation.
  9. Debe usar which function mode. Me ha ahorrado muchos dolores de cabeza en el pasado.
  10. Los valores predeterminados para GUD son bastante decentes, pero debe tomar un tiempo y familiarizarse con ellos para utilizar su poder por completo.
  11. Uso mucho org-capture para mover los TBD a los búferes de mi modo de organización para que pueda rastrearlos como elementos de HACER. Esto es para todos los idiomas. También uso org-mode para mantener un diario de desarrollo para todos mis proyectos.

Buena suerte.

+4

Algunos consejos, buena, ja, ja, ja! (Hum, lo siento). – Raveline

+0

No tenía la intención, pero los mejores juegos de palabras no son intencionales de todos modos ... –

+2

+1 which-function-mode, eso es nuevo para mí, gracias! – momeara

3

Lea esto excellent guide sobre cómo configurar CEDET. También te aconsejo que uses cscope y ECB junto a él. Como Noufal ya mencionó autocompletar y flymake son muy útiles. También te recomendaría autopair mode.

1

no probé a cabo Emacs-IDE pero parece útil y le puede ayudar a

Cuestiones relacionadas