codelite best c++ linux ide

best - C++ IDE para Linux?



ide c++ linux ubuntu (30)

Quiero expandir mis horizontes de programación a Linux. Un buen conjunto de herramientas básicas y confiables es importante, y ¿qué es más básico que un IDE?

Pude encontrar estos temas de SO:

No estoy buscando un IDE ligero . Si un IDE vale el dinero, entonces lo pagaré, por lo que no tiene que ser gratis.

Mi pregunta, entonces:

¿De qué sirve el IDE de programación en C ++ para Linux?

Los mínimos son bastante estándar: resaltado de sintaxis, finalización de código (como intellisense o su contraparte de Eclipse) y depuración integrada (por ejemplo, puntos de interrupción básicos).

Lo he buscado por mí mismo, pero hay tantos que es casi imposible separar lo bueno de lo malo a mano, especialmente para alguien como yo que tiene poca experiencia en codificación en C ++ en Linux. Sé que Eclipse es compatible con C ++ , y realmente me gusta ese IDE para Java, pero ¿es bueno para C ++ y hay algo mejor?

La segunda publicación tiene algunas buenas sugerencias, pero lo que me falta es lo que hace que el IDE sugerido sea tan bueno para el usuario, ¿cuáles son sus (des) ventajas?

Tal vez mi pregunta debería ser por lo tanto:

¿Qué IDE propones (dadas tus experiencias) y por qué?


¿Podría aclarar un poco más cómo fue para usted, qué tuvo que cambiar? Tal vez podría indicarme la dirección correcta proporcionando algunos enlaces a la información que utilizó.

Mi primera fuente fueron en realidad las páginas man las herramientas. Sólo tipo

$ man toolname

en la línea de comando ( $ aquí es parte del indicador, no la entrada).

Dependiendo de la plataforma, están bastante bien escritos y también se pueden encontrar en Internet. En el caso de make , realmente leí la documentation completa que tomó unas pocas horas. En realidad, no creo que esto sea necesario o útil en la mayoría de los casos, pero tuve algunos requisitos especiales en mis primeras tareas en Linux que requerían un makefile sofisticado. Después de escribir el makefile, se lo di a un colega experimentado que hizo algunos ajustes y correcciones menores. Después de eso, casi lo supe make .

Usé GVIM porque tenía alguna experiencia previa (pero no mucha) allí, no puedo decir nada sobre Emacs o alternativas. Me parece realmente .gvimrc archivo de configuración .gvimrc otras personas. Mucha gente lo pone en la web. Aquí está la mine .

No intentes dominar todos los binutils a la vez, hay demasiadas funciones. Pero obtenga una visión general para saber dónde buscar cuando necesite algo en el futuro. Sin embargo, debe conocer todos los parámetros importantes para g++ y ld (la herramienta de enlace GCC que se invoca automáticamente, excepto cuando se evita explícitamente).

También tengo curiosidad, ¿tienes finalización de código y resaltado de sintaxis cuando codificas?

Resaltado de sintaxis: sí, y mucho mejor que Visual Studio. Código completado: sí. Primero, debo admitir que no utilicé el código de C ++ incluso en Visual Studio porque (en comparación con VB y C #) no fue lo suficientemente bueno. Ahora no lo uso a menudo, pero, sin embargo, GVIM tiene soporte de finalización de código nativo para C ++. Combinado con la biblioteca ctags y un plug-in como taglist esto es casi un IDE.

En realidad, lo que me hizo comenzar fue un article de Armin Ronacher. ¡Antes de leer el texto, mira las capturas de pantalla al final!

¿tienes que compilar primero antes de obtener errores (sintaxis)?

Sí. Pero esto es lo mismo para Visual Studio, ¿no es así (nunca he usado Whole Tomato)? Por supuesto, el resaltado de sintaxis le mostrará paréntesis no coincidentes, pero eso es todo.

¿Y cómo depuras (de nuevo piensas en puntos de interrupción, etc.)?

Yo uso gdb que es una herramienta de línea de comandos. También hay una interfaz gráfica llamada DDD . gdb es una herramienta de depuración moderna y puede hacer todo lo que puede hacer en un IDE. Lo único que realmente me molesta es leer una traza de pila porque las líneas no tienen sangría ni formato, por lo que es realmente difícil escanear la información cuando usas muchas plantillas (lo que hago). Pero esos también desordenan el seguimiento de pila en IDEs.

Como dije, tuve el ''placer'' de establecer mis primeros pasos en el lenguaje de programación Java usando el bloc de notas de Windows y el compilador de Java de la línea de comandos en la escuela secundaria, y fue ... ¡una pesadilla! Ciertamente, cuando pude compararlo con otros cursos de programación que tenía en ese entonces, donde teníamos IDE decentes

Ni siquiera debe intentar comparar un moderno editor de funciones completas como Emacs o GVIM con el Bloc de notas. El Bloc de notas es un control TextBox embellecido, y esto realmente marca la diferencia. Además, trabajar en la línea de comandos es una experiencia muy diferente en Linux y Windows. El cmd.exe Windows está gravemente dañado. PowerShell es mucho mejor.

/ EDITAR: ¡Debo mencionar explícitamente que GVIM tiene edición de pestañas (como en la navegación de pestañas, no de tabs vs espacios)! Me tomó años encontrarlos aunque no estuvieran ocultos en absoluto. Simplemente escriba :tabe lugar de simple :e al abrir un archivo o crear uno nuevo, y GVIM creará una nueva pestaña. El cambio entre pestañas se puede hacer usando el cursor o varios atajos diferentes (dependiendo de la plataforma). La tecla gt (escriba g , luego t en modo de comando) debería funcionar en todas partes, y salta a la siguiente pestaña, o pestaña no. n si se dio un número. Tipo :help gt para obtener más ayuda.


Y luego me di cuenta de que no es así como trabajas allí *, y tiré todo, pasé unos días leyendo manuales, configuré mi shell (bash), configuré un entorno GVIM, aprendí la cadena de herramientas GCC / binutils, Hacer y gdb y vivir feliz para siempre.

En su mayoría estoy de acuerdo, pero el problema también es de percepción: olvidamos lo difícil que fue volverse productivo en cualquier IDE (u otro entorno) elegido. Encuentro que IDE (Visual Studio, NetBeans, Eclipse) es increíblemente engorroso de muchas maneras.

Como un viejo jugador de UNIX, siempre uso Emacs. Pero eso tiene una curva de aprendizaje bastante empinada y larga, así que no estoy seguro de poder recomendarlo a los recién llegados.

Yo secundaría eso; use Emacs como mi editor principal tanto en Linux como en MSW (XP2, W2K). No estoy de acuerdo en que tenga una curva de aprendizaje empinada , pero diría que debido a la gran cantidad de características tiene una curva de aprendizaje larga . Puede ser productivo en poco tiempo, pero si lo desea, puede aprender nuevas características de la misma en los próximos años.

Sin embargo, no espere que todas las características de Emacs estén disponibles en los menús desplegables, hay demasiada funcionalidad para encontrarlo allí.

Como mencioné, he usado GNU Emacs en MSW durante años. Y siempre funcionó bien con Visual Studio hasta que lo "actualicé" a 2008; ahora a veces demora muchos segundos antes de actualizar archivos del disco. La razón principal para editar en la ventana de VS es la función de finalización de código "Intellisense".


Inicialmente: confusión

Cuando escribí originalmente esta respuesta, recientemente hice el cambio de Visual Studio (con años de experiencia) a Linux y lo primero que hice fue tratar de encontrar un IDE razonable. En el momento esto era imposible: no existía un buen IDE.

Epifanía: UNIX es un IDE. Todo ello. 1

Y luego me di cuenta de que el IDE en Linux es la línea de comandos con sus herramientas:

  • Primero configuras tu shell
  • y su editor; elige tu veneno - ambos son de vanguardia:

Dependiendo de sus necesidades, tendrá que instalar y configurar varios complementos para que el editor funcione bien (esa es la única parte molesta). Por ejemplo, la mayoría de los programadores en Vim se beneficiarán del complemento YouCompleteMe para el autocompletado inteligente.

Una vez hecho esto, el shell es su interfaz de comando para interactuar con las diversas herramientas: Depuradores (gdb), Perfiladores (gprof, valgrind), etc. alternativas. Y administras tu código con un sistema de control de versiones (la mayoría de la gente usa Git ). También usa tmux (anteriormente también pantalla) para multiplexar (= pensar en múltiples ventanas / pestañas / paneles) y mantener su sesión de terminal.

El punto es que, gracias al shell y algunas convenciones de escritura de herramientas, todas se integran entre sí . Y de esa manera, el shell de Linux es un entorno de desarrollo verdaderamente integrado , completamente a la par con otros IDE modernos. (Esto no significa que los IDE individuales no tengan características que puedan faltar en la línea de comandos, pero lo inverso también es cierto).

A cada uno lo suyo

No puedo exagerar qué tan bien funciona el flujo de trabajo anterior una vez que te has acostumbrado. Pero algunas personas simplemente prefieren los editores gráficos, y en los años transcurridos desde que esta respuesta fue escrita originalmente, Linux ha obtenido un conjunto de excelentes IDE gráficos para varios lenguajes de programación diferentes (pero no, que yo sepa, para C ++). Inténtalos incluso si, como yo, terminas no usándolos. Aquí hay una selección pequeña y parcial:

Tenga en cuenta que esta lista está lejos de ser completa.

1 Robé ese título del comentario de dsm.

2 Solía ​​referirme a Vim aquí. Y mientras que Vim simple es aún más que capaz, Neovim es un reinicio prometedor, y se ha modernizado algunas verrugas antiguas.


  1. Code::Blocks
  2. Eclipse CDT

Pronto descubrirá que los IDE no son suficientes, y tendrá que aprender la cadena de herramientas de GCC de todos modos (lo cual no es difícil, al menos aprendiendo la funcionalidad básica). Pero no hay daño en la reducción del dolor de transición con los IDE, IMO.


¿Quizás el Proyecto de herramientas de Linux para Eclipse podría satisfacer sus necesidades?

El proyecto Herramientas de Linux tiene como objetivo brindar un IDE C y C ++ con todas las funciones a los desarrolladores de Linux. Desarrollamos las funciones de edición y depuración de la fuente de CDT e integramos herramientas de desarrollo nativas populares como GNU Autotools, Valgrind, OProfile, RPM, SystemTap, GCov, GProf, LTTng, etc. Los proyectos actuales incluyen visores y analizadores de traza LTTng, y El editor de RPM .spec, la integración de compilación de Autotools, una herramienta de análisis de uso del montón de Valgrind y las herramientas de perfilado de llamadas de OProfile.


Al menos para los proyectos específicos de Qt, el Qt Creator (de Nokia / Trolltech / Digia) se muestra muy prometedor.


Anteriormente he usado Ultimate ++ IDE y es bastante bueno.


Aunque uso Vim, algunos de mis compañeros de trabajo usan SlickEdit que se ve bastante bien. No estoy seguro de la depuración integrada porque de todos modos no podríamos hacer eso en nuestro proyecto particular.

SlickEdit tiene un buen soporte para navegar en grandes bases de código, con referencias cruzadas y salto de etiqueta. Por supuesto, también tiene elementos básicos como el resaltado de sintaxis y la finalización de código.


Checkout Netbeans, está escrito en Java para que tenga el mismo entorno independientemente de su sistema operativo, y soporta mucho más que solo C ++.

No intentaré convencerlo, porque creo que los IDE pueden ser una elección muy personal. Para mí, mejora mi productividad al ser rápido, es compatible con los idiomas que codifico y tiene las características estándar que se esperan de un IDE.


Como un viejo jugador de UNIX, siempre uso Emacs. Pero eso tiene una curva de aprendizaje bastante empinada y larga, así que no estoy seguro de poder recomendarlo a los recién llegados.

Realmente no hay un IDE "bueno" para Linux. Eclipse no es muy bueno para C / C ++ (CDT está mejorando, pero aún no es muy útil). A los demás les faltan todas las características que vas a buscar.

Realmente es importante aprender cómo funcionan todas las herramientas individuales (gcc, make, gdb, etc.). Después de hacerlo, es posible que la forma en que Visual Studio de hacer las cosas sea muy limitante.


En Linux hay muchos IDE:

En mi experiencia, los más valiosos son Eclipse y Qt Creator . Ambos proporcionan todas las características "estándar" (es decir, autocompletar, resaltado de sintaxis, depurador, integración de git). Vale la pena señalar que Eclipse también proporciona funcionalidades de refactorización, mientras que Qt Creator proporciona integración con Valgrind y soporte para la implementación en destinos remotos.

También el CLion IDE comercial parece bastante bueno (pero no lo he usado mucho).


Escuché que Anjuta es bastante hábil para los usuarios de Gnome. Jugué un poco con KDevelop y está bien, pero me falta algo. Code :: Blocks también es muy prometedor, y me gusta ese mejor.


Estoy usando " Geany " encontrado bueno hasta ahora, su IDE rápido y ligero.

Entre las características de Geany se encuentran :

  • Código plegable
  • Guardar sesión
  • Funciones IDE básicas como resaltado de sintaxis, pestañas, sangría automática y finalización de código
  • Gestión de proyectos simple
  • Construir sistema
  • Selector de color (sorprendentemente útil durante el desarrollo web)
  • Emulación de terminal embebida
  • Consejos de llamada
  • Listas de símbolos
  • Finalización automática de construcciones comunes (como if, else, while, etc.)

La respuesta más breve es: elija el "editor" que desee, luego use la consola GDB o un sencillo front-end GDB para depurar su aplicación. Los depuradores vienen con IDE de lujo como Netbeans apesta para C / C ++. Utilizo Netbeans como mi editor, y Insight y la consola GDB como mi depurador.

Con visión, tiene una buena interfaz gráfica de usuario y el poder en bruto de GDB.

Tan pronto como se acostumbre a los comandos GDB, comenzará a amarlo ya que puede hacer cosas que nunca podrá hacer usando una GUI. Puede usar incluso Python como lenguaje de script si usa GDB 7 o una versión más reciente.

La mayoría de las personas aquí prestaron más atención a los "Editores" de los IDE. Sin embargo, si está desarrollando un gran proyecto en C / C ++, podría dedicar fácilmente más del 70% de su tiempo a los "depuradores". Los depuradores de los IDE sofisticados llevan al menos 10 años detrás de Visual Studio. Por ejemplo, Netbenas tiene interfaces muy similares con Visual Studio. Pero su depurador tiene una serie de desventajas en comparación con Visual Studio.

  1. Muy lento para mostrar incluso una matriz con solo unos pocos cientos de elementos
  2. Sin resaltado para el valor cambiado (De forma predeterminada, Visual Studio muestra los valores cambiados en las ventanas de observación en rojo)
  3. Capacidad muy limitada para mostrar la memoria.
  4. No puede modificar el código fuente y luego continuar ejecutando. Si un error tarda mucho tiempo en atacar, le gustaría cambiar la fuente y aplicar los cambios en vivo y continuar ejecutando su aplicación.
  5. No puede cambiar la "siguiente declaración" para ejecutar. En Visual Studio, puede usar "Establecer siguiente declaración" para cambiar la forma en que se ejecuta su aplicación. Aunque esta función podría bloquear su aplicación si no se usa correctamente, le ahorrará mucho tiempo. Por ejemplo, si encuentra que el estado de su aplicación no es correcto, pero no sabe qué causó los problemas, es posible que desee volver a ejecutar cierta región de sus códigos fuente sin reiniciar su aplicación.
  6. No hay soporte incorporado para STL como vector, lista, deque y mapa, etc.
  7. No hay puntos de vigilancia. Debe tener esta función, cuando necesita detener su aplicación justo en el momento en que se cambia una variable. Las computadoras basadas en Intel tienen puntos de observación de hardware para que los puntos de observación no ralenticen su sistema. Puede llevar muchas horas encontrar algunos errores difíciles de encontrar sin usar puntos de observación. "Visual Studio" llama a "watch pointer" como "Data BreakPoint".

La lista puede ser mucho más larga.

Me sentí tan frustrado por las desventajas de los Netbeans u otros IDEs similares, por lo que comencé a aprender GDB. Encontré que GDB en sí es muy poderoso. GDB no tiene todos los "inconvenientes" mencionados anteriormente. En realidad, GDB es muy poderoso, incluso es mejor que Visual Studio en muchos aspectos. Aquí te muestro un ejemplo muy simple.

Por ejemplo, tienes una matriz como:

struct IdAndValue { int ID; int value; }; IdAndValue IdAndValues[1000];

Cuando su aplicación se detiene, y desea examinar los datos en IdAndValues. Por ejemplo, si desea buscar los ordinales y los valores en la matriz para un "ID" en particular, puede crear un script como el siguiente:

define PrintVal set $i=0 printf "ID = %d/n", $arg0 while $i<1000 if IdAndValues[$i].ID == $arg0 printf "ordinal = %d, value = %d/n", $i, IdAndValues[$i].vaue set $i++ end end end

Puede usar todas las variables de su aplicación en el contexto actual, sus propias variables (en nuestro ejemplo, es $ i), los argumentos pasados ​​(en nuestro ejemplo, es $ arg0) y todos los comandos GDB (integrados o definidos por el usuario ).

Use PrintVal 1 de GDB para imprimir los valores de ID "1"

Por cierto, NetBeans viene con una consola GDB, pero al usar la consola, podría bloquearse Netbeans. Y creo que es por eso que la consola está oculta por defecto en NetBeans


Me encanta cómo la gente omite completamente la solicitud en la pregunta original para un IDE. Linux no es un IDE. Eso no es lo que significan esas palabras. Aprendí c y c ++ usando vi y gcc y make, y no estoy diciendo que no sean herramientas adecuadas, pero NO son un IDE. Incluso si utiliza herramientas más elaboradas como vim o emacs o cualquier editor de fantasía que desee, escribir comandos en una línea de comandos no es un IDE.

Además, todos ustedes saben que make existe como parte de Visual Studio, ¿no? La idea de que un IDE es "limitante" es una tontería si puede usar el IDE para acelerar algunas cosas, pero aún así es posible recurrir a la línea de comandos cuando sea necesario.

Dicho todo esto, sugeriría, como lo han hecho varios de los anteriores, probar los bloques de código. Tiene un resaltado de código decente, una forma bastante fácil de crear un proyecto, codificarlo, ejecutarlo, etc., que es el núcleo de un IDE real y parece bastante estable. La depuración apesta ... Nunca he visto un depurador interactivo decente en ninguna variante de linux / unix. gdb no lo es. Si estás acostumbrado a la depuración de estilo de estudio visual, estás bastante fuera de suerte.

De todos modos, iré a empacar mis cosas, sé que la multitud de linux de una sola vista gritará esto y me echará de la ciudad en ningún momento.


Me gusta bastante el IDE de Ultimate++ . Tiene algunas características que fueron diseñadas para usar con su propia biblioteca (que, por cierto, es un buen conjunto de herramientas si no desea comprar en GTK + o QT) pero funciona perfectamente bien con los proyectos generales de C ++. Proporciona una finalización de código decente, un buen color de sintaxis, depuración integrada y todas las demás funciones que admiten la mayoría de los IDEs modernos.


Mi favorito personal es el IDE CodeLite 2.x.

ver: http://www.codelite.org

La decisión de usar CodeLite se basó en una investigación relacionada con el siguiente IDE de C ++ para Linux:

  • Eclipse Galileo con CDT Plugin
  • NetBeans 6.7 (que también es la base para el IDE de SunStudio)
  • KDevelop4
  • CodeBlocks 8.02
  • CodeLite 2.x

Después de todo he decidido usar CodeLite 2.x.

A continuación, he enumerado algunos pros y contras con respecto a los mencionados IDE de C ++. Tenga en cuenta que esto refleja mi opinión personal solamente!

EDIT : es una pena que SOF no admita tablas, así que tengo que escribir en párrafos ...

Eclipse Galileo con CDT Plugin

Pros:

  • razonablemente rápido
  • También soporta Java, Perl (con plugin EPIC)
  • comúnmente usado y bien mantenido
  • también disponible para otros tipos de SO (Windows, MacOS, Solaris, AIX (?))

Contras:

  • La GUI es muy confusa y algo inconsistente, no muy intuitiva en absoluto
  • peso pesado
  • Solo soporta CVS (AFAIK)

NetBeans 6.7 (tenga en cuenta que esta también es la base para el IDE de SunStudio)

Pros:

  • Una de las GUI más intuitivas que he visto
  • También soporta Java, Python, Ruby.
  • Integra CVS, SVN, Mercurial.
  • comúnmente usado y bien mantenido
  • también disponible para otras versiones de SO (Windows, MacOS, Solaris)

Contras:

  • extremadamente lento
  • peso pesado
  • utiliza espacios para la sangría, que no es la política en mi trabajo. Estoy seguro de que esto es configurable, pero no pude averiguar cómo hacerlo

KDevelop4 (nota: no lo probé mucho)

Pros:

  • comúnmente usado en Linux
  • Integra CVS, SVN, Mercurial.

Contras:

  • la interfaz gráfica de usuario se ve algo anticuada
  • peso pesado
  • Muy específico para el entorno KDE.

CodeBlocks 8.02 (nota: no lo probé mucho)

Pros:

  • razonablemente rápido

Contras:

  • la interfaz gráfica de usuario se ve un tanto anticuada (aunque tiene una pantalla de inicio agradable)
  • Las fuentes en el editor son muy pequeñas.
  • Algunos íconos (p. ej., los íconos relacionados con el depurador que comienzan / pasan) son muy pequeños
  • sin integración de control de fuente

CodeLite 2.x (nota: este es mi favorito personal)

Pros:

  • La mejor interfaz gráfica de usuario, moderna e intuitiva que he visto en Linux
  • ligero
  • razonablemente rápido
  • integra SVN
  • también disponible en otros tipos de SO (Windows, MacOS, Solaris (?))

Contras:

  • sin integración de CVS (eso es importante para mí porque tengo que usarlo en el trabajo)
  • no es compatible con Java, Perl, Python (sería bueno tenerlo)

No repetir una respuesta, pero creo que puedo agregar un poco más.

SlickEdit es un excelente IDE.

Es compatible con bases de código grandes sin ralentizar ni gastar todo el tiempo en la indexación. (Este es un problema que tuve con el cdt de eclipse). La velocidad de Slickedit es probablemente lo mejor de ella, en realidad.
La finalización del código funciona bien y hay una gran cantidad de opciones para el formato automático, embellecimiento y refactorización.
Tiene depuración integrada.
Tiene soporte de plug-in y una comunidad bastante activa que los crea.
En teoría, deberías poder integrarte bien con las personas que hacen el archivo de makefile tradicional, ya que te permite crear un proyecto directamente desde uno, pero no funcionó tan bien como me hubiera gustado cuando lo probé.
Además de Linux, existen versiones de Mac y Windows, en caso de que las necesite.


Para mí, Ultimate++ parece ser la mejor solución para escribir programas de todo el mundo.


Realmente sugiero Code::Blocks . No es tan pesado como Eclipse y tiene soporte para proyectos de Visual Studio.


Sólo un rápido seguimiento de esta pregunta ...

Ha pasado un mes desde que comencé a usar Vim como mi principal herramienta ''GUI'' para programar C ++ en Linux. Al principio, la curva de aprendizaje fue un poco empinada, pero después de un tiempo y con las opciones correctas activadas y los ctags ¡ya entendí el truco!

Me encanta la forma en que puede moldear Vim para satisfacer sus necesidades; simplemente agregue / cambie las asignaciones de teclas y Vim se convierte en un ''IDE'' altamente productivo.

La cadena de herramientas para construir y compilar un programa C ++ en Linux también es muy intuitiva. make y g ++ son las herramientas que usarás.

Sin embargo, el depurador ddd no es realmente tan bueno, pero quizás sea porque no he tenido tiempo de dominarlo correctamente.

Así que para cualquiera que esté, o estuviera buscando un buen IDE en C ++ en Linux, como lo estaba yo, su mejor apuesta es con las herramientas estándar disponibles en Linux (Vim, g ++, ddd) y realmente debería al menos intentar usar ellos, antes de buscar sonething else ...

Por último, pero no menos importante, realmente quiero agradecer a konrad por su respuesta aquí. Realmente me ayudó a encontrar mi camino en el entorno de desarrollo de Linux, ¡gracias!

Tampoco estoy cerrando esta pregunta, por lo que la gente todavía puede reaccionar o quizás incluso agregar nuevas sugerencias o adiciones a las respuestas que ya son realmente agradables ...


Si estuvo usando vim durante mucho tiempo, entonces debería hacerlo como su IDE. Hay muchos complementos disponibles. Encontré varios de ellos como bastante útiles, y los compilé aquí, échales un vistazo.

Y mucho más en la serie vi / vim tips & tricks de allí.


Si te gusta Eclipse para Java, te sugiero Eclipse CDT. A pesar de que el soporte de C / C ++ no es tan poderoso como lo es para Java, todavía ofrece la mayoría de las características. Tiene una buena característica llamada Proyecto gestionado que facilita el trabajo con proyectos C / C ++ si no tiene experiencia con Makefiles. Pero todavía puedes usar Makefiles. Hago codificación C y Java y estoy muy contento con CDT. Estoy desarrollando el firmware para un dispositivo integrado en C y una aplicación en Java que habla con este dispositivo, y es realmente agradable usar el mismo entorno para ambos. Supongo que probablemente me haga más productivo.


SlickEdit. He usado y amado SlickEdit desde 2005, tanto en Windows como en Linux. También tengo experiencia trabajando en Visual Studio (5, 6, 2003, 2005) y solo con Emacs y línea de comandos. Uso SlickEdit con makefiles externos, algunos de mis compañeros usan SlickEdit, otros usan Emacs / vi. No utilizo el depurador integrado, el control de versiones integrado, el sistema de compilación integrado: en general, encuentro demasiada integración para ser una verdadera molestia. SlickEdit es robusto (muy pocos errores), rápido e intuitivo. Es como un coche alemán, un coche de conductor.

Las versiones más recientes de SlickEdit parecen ofrecer muchas características que no me interesan, me preocupa un poco que el producto se hinche y se diluya en el futuro. Por ahora (uso V13.0) es genial.


Sun Studio versión 12 es una descarga gratuita (soporte GRATUITO y pagado disponible) - http://developers.sun.com/sunstudio/downloads/thankyou.jsp?submit=%A0FREE+Download%A0%BB%A0 .

Estoy seguro de que tiene soporte para completar y depurar el código, incluido el soporte de complementos en este IDE.

Sun Studio está disponible para Linux así como para Solaris. foros: http://developers.sun.com/sunstudio/community/forums/index.jsp . Foros de Sun Studio Linux: http://forum.sun.com/forum.jspa?forumID=855

Estaré ansioso por escuchar sus comentarios sobre esta herramienta.

BR
~ A



Uso Eclipse CDT y Qt Creator (para aplicaciones Qt).

Esas son mis preferencias. Es una pregunta muy sugerente y hay tantas respuestas como desarrolladores. :)


make + vim + gdb = un gran IDE



Una respuesta rápida, solo para agregar un poco más de conocimiento a este tema:
Definitivamente debes revisar NetBeans . Netbeans 6.7 tiene las siguientes características:

  • Proyectos y plantillas de C / C ++: admite el resaltado de sintaxis, la finalización automática de código, la sangría automática.
  • Tiene un depurador C / C ++.
  • Admite configuraciones de compilador, Configuration Manager y Makefile Support (con un asistente).
  • Tiene una ventana de clases, una ventana de usos y una ventana de navegación de archivos (o panel).
  • Una vista de expansión de Macro , y también información sobre tooltips .
  • Apoyo al desarrollo de QT .

Creo que es una sustitución perfecta (y mucho mejor) de Visual Studio, y una muy buena herramienta para aprender C / C ++.

¡Buena suerte!