Mejor IDE de C++ para * nix [cerrado]


¿Cuál es el mejor IDE de C++ para a *nix envirnoment? He oído que el módulo C / C++ de Eclipse es decente, así como Notepad++, pero más allá de estos dos no tengo idea real. ¿Alguna idea o comentario?

 31
Author: Peter Coulton, 2008-09-17

22 answers

En Ubuntu, algunos de los IDE que están disponibles en los repositorios son:

También Hay:

  • Eclipse (Se recomienda no instalar desde repositorios, debido a problemas con los permisos de archivo/carpeta)
  • Código:: bloques

Y, por supuesto, el texto favorito de todos editores:

  • vi / vim
  • emacs

Es cierto que vim y emacs son herramientas muy poderosas, pero la curva de aprendizaje es muy empinada..

Realmente no me gusta Eclipse que mucho, me parece con errores y un poco demasiado torpe.
He empezado a usar Geany como un IDE básico pero funcional y utilizable . Tiene una característica básica de finalización de código, y es una interfaz [Gnome] agradable y limpia.
Anjuta Lo intenté por un día, no me gustó en absoluto. No lo encontré tan útil como Geany.

Kdevelop y code::blocks obtener un montón de buenas críticas, pero no he probado. Uso gnome, y todavía no he visto una aplicación de KDE que se vea bien en gnome (lo siento, estoy seguro de que es un gran programa).

Si solo bloodshed dev-c++ fuera liberado bajo linux. Es un programa fantástico (pero solo para Windows). Siempre se puede ejecutar bajo Wine;)

Hasta cierto punto, se reduce a la preferencia personal. Mi consejo es investiga Kdevelop, Geany y code::blocks como punto de partida.

 30
Author: brasskazoo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-17 02:43:42

Como programador que ha estado escribiendo código bajo linux durante muchos años, simplemente no puedo dejar de usar Vim para escribir código.

Una vez que lo aprendes, y aprendes algunas de sus características más avanzadas (Plegado de código, cómo usar ctags, cómo trabajar con múltiples búferes de manera efectiva, etc.) mover a otro editor es muy difícil, ya que todo lo demás parece estar faltando características a las que estás acostumbrado.

El único otro editor con un superconjunto de características de vim es emacs. Yo altamente recomienda aprender uno u otro - y si tienes preguntas, no dudes en preguntar aquí o en # emacs o #vim en irc.freenode.net -hay una comunidad muy grande y útil que le ayudará a aprender qué extensiones o comandos se adaptan mejor a los problemas de edición de software que está enfrentando.

[Editar: Un comentario señaló que "vim no es un IDE", estoy de acuerdo. No me gusta el apodo IDE porque significa una interfaz gráfica de usuario con un gestor de proyectos y un montón de cuadros desplegables. Me gusta usar la terminología " Good Tools "(en inglés). Ver Los escritos de Ted Leung sobre el asunto]

 18
Author: Jerub,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-17 02:34:36

Me sorprende que nadie haya mencionado Qt Creator, ya que está disponible en la mayoría de los repositorios, es bastante pequeño en tamaño y, sin embargo, hace la mayoría de las cosas que necesito muy bien.

 10
Author: tstenner,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-08-22 08:42:09

Yo recomendaría CodeBlocks.

Puntos destacados:

  • Código Abierto! GPLv3, sin costes ocultos.
  • Multiplataforma. Se ejecuta en Linux, Mac, Windows (utiliza wxWidgets).
  • Escrito en C++. No se necesitan lenguajes interpretados ni librerías propietarias.
  • Extensible a través de plugins

Compilador:

  • Soporte para múltiples compiladores:
    • GCC (MinGW / GNU GCC)
    • MSVC++
    • Marte digital
    • Borland C++ 5.5
    • Abierto Watcom
    • ...y más
 9
Author: KPexEA,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-17 02:34:59

Solo uso Emacs.

 7
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-17 02:20:02

Emacs es un IDE fantástico, que se mantiene fuera de mi camino pero que puede hacerlo todo. Vea esta otra pregunta relacionada: Usando Emacs como un IDE

 5
Author: Ben Collins,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 11:50:29

Mi voto es KDevelop (me gustaría tener más puntos para poder "votar arriba", por lo que podría estar de acuerdo con los demás indirectamente que comentar).

He estado usando Eclipse durante un par de años para uso personal, convenciéndome de que "desde que IBM lo donó, debe ser bueno", pero luego descubrí KDevelop y nunca volví atrás. Debido a que estoy bastante mimado con Microsoft Visual Studio para uso profesional, KDevelop se sintió más cómodo para mí.

Quiero disfrutar la programación como un hobby, no gastar tiempo buscando qué ctrl-k-k y ctrl-k-b hace. Como otros han mencionado, lo que "se siente bien" para ellos es el mejor IDE. Para mí, KDevelop se siente más cómodo porque puedo concentrarme en la codificación (probablemente podría reasignar las claves a otros IDE para que se sienta como VS, pero como se mencionó, prefiero invertir mi tiempo en codificación, que es más divertido).

 5
Author: HidekiAI,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-08-20 23:00:22

Si vienes de Windows & Visual Studio, es posible que Code::Blocks cumpla con tus expectativas.

Esa fue mi experiencia; probé algunos otros primero, pero todos parecían esperar que hiciera un largo tutorial antes de que pudiera comenzar a hacer algo interesante, y con una docena de IDEs para probar, eso podría tomar días.

Con Code::Blocks no había aros por los que saltar, y muy poco cruft obligatorio que aprender antes de que pudiera ser productivo. Todavía prefiero Visual Studio, pero Code:: Blocks puede abrir mis proyectos de Visual Studio, y no parece querer que pierda tiempo, por lo que es el IDE winningmost *nix para mí.

 4
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-17 04:06:26

Uso el complemento NetBeans C++ y es excelente. Vengo de un fondo de Visual Studio y la gestión de proyectos Netbeans es muy similar. Probé KDevelop pero lo encontré un poco escamoso (esto fue hace 12 meses, por lo que probablemente sea mejor ahora).

También tuve problemas con las dependencias usando KDevelop - es decir, donde un programa requiere una gran cantidad de libs para ser construido primero - pero Netbeans hizo esto simple.

La única queja es que al ser una aplicación Java, no es particularmente rápida, muy notable cuando se ejecuta bajo VMware.

 4
Author: Rob,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-17 06:26:56

En pocas palabras, Netbeans. Tienes que probarlo. Es tan bueno. Es mucho mejor que Eclipse con el plugin CDT.

 4
Author: user14437,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-17 07:43:51

KDevelop es bueno, especialmente si ejecuta KDE. Es compatible con muchos idiomas, como una ventaja adicional. He encontrado su terminal integrado muy útil.

 3
Author: Vinko Vrsalovic,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-17 02:18:06

Netbeans ha recibido buenas críticas por su compatibilidad con C++: http://www.netbeans.org/features/cpp /

Nunca he utilizado Netbeans o Eclipse para el desarrollo de C++, pero vale la pena mirar.

 3
Author: Gili,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-17 02:21:49

Yo era un usuario de VisualStudio + VA-X antes de cambiar a ubuntu, y necesitaba buenas funciones de autocompletar y navegación en cualquier IDE.

He probado Netbeans, Eclipse CDT, CodeBlocks, Geany, Anjuta, KDevelop y finalmente me conformé con KDevelop ya que eso fue lo más cercano que pude llegar a VS + VA-X.

Eclipse y NetBeans son demasiado pesados y lentos para mi gusto. La mayoría de los otros IDE tienen buggy/incomplete / dumb auto completion & otras características; o quieren tomar el control de su código y necesita ser importado en proyectos; o ponen 101 archivos en su carpeta de origen. Solo KDevelop me permitió tener un simple enlace a mi carpeta src y dejarme trabajar. la finalización automática no es brillante, pero mejor que los demás.

KDevelop no se mezcla bien con mi Gnomo, pero puedo vivir con él;)

 3
Author: wolfie2x,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-17 06:40:23

Me gusta mucho CodeLite. Echa un vistazo a su página de características .

 2
Author: RJP Computing,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-17 02:26:05

Personalmente, estoy de acuerdo con la multitud de KDevelop también. Eclipse se sintió un poco voluminoso y ligeramente inestable. Algo sobre kDeveloper siempre se siente bien.

 2
Author: f4nt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-17 03:27:10

Ultimate++ [http://www.ultimatepp.org/index.html]

[editar]
Tiene sus propias librerías de clase C++ (como señala Hernan), pero nada le impide usar cualquier otra librería de clase como SDL, o puede rodar la suya propia. Incluso puede usar boost si lo desea, pero debo decir que encuentro que algunas de las clases y técnicas suministradas son más útiles.

Lo que más aprecio es su brillante integración con el depurador y un editor sensible al contexto muy completo. Utiliza el compilador y depurador estándar (gcc, g++, gdb) en Linux y el compilador/depurador MS en esa plataforma.

La única queja (muy pequeña) que tengo son los nombres caseros para proyectos (llamados Nest's & so forth). Eso es innecesario e incluso puede ser desagradable para los desarrolladores serios, pero son solo nombres y encuentro que puedo ignorarlo fácilmente.

 2
Author: slashmais,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-08-22 08:30:00

Hice esta pregunta antes para experimentar a los usuarios de Linux y siempre dicen Vim y automake. Uso Vim como mi editor predeterminado en Linux y después de un tiempo se vuelve intuitivo. Lo aprendí trabajando a través de algunos pequeños ejemplos mientras aprendía C++ para poder aprender ambos al mismo tiempo.

 1
Author: dbrien,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-17 02:38:03

En mi antiguo trabajo usábamos SlickEdit para el desarrollo en C++ bajo Debian. Es multiplataforma y bastante potente.

No es gratis, sin embargo.

 1
Author: itsadok,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-17 05:33:35

El problema con la mayoría de los IDE es que quieren tener un cierto grado de control sobre cómo se organiza el proyecto, y esto podría ser un problema si tienes que trabajar en ese proyecto con otras personas. En mi experiencia, esto conduce a dos series de problemas relacionados:

  • Si inicia un proyecto en un IDE en particular, ellos diseñarán para usted una estructura de directorios en particular, organización de archivos, convención de nomenclatura de archivos, sistema de compilación, etc. Por supuesto, la mayoría de estas opciones son personalizable, pero no siempre es posible adherirse a convenciones específicas que se le puede requerir que siga. Los proyectos con un sistema de construcción complejo pueden ser difíciles de implementar desde el IDE. Además, el proyecto podría no ser adecuado para una modificación externa e independiente; por ejemplo, si está planeando escribir una aplicación de código abierto, evite hacer del IDE una dependencia para el proyecto.

  • Si importa un proyecto iniciado en otro lugar, lo más probable es no será muy fácil usar todas las características proporcionadas por el IDE. Tendrá que averiguar cómo conectar el sistema de compilación, el depurador (ya que los binarios pueden no estar donde se espera), etc. Esto es especialmente cierto para proyectos grandes y complejos.

La razón por la que estos ares no son un problema en Windows es que Visual Studio es un estándar de facto. Bajo *nix hay una tendencia a no imponer herramientas/editores particulares al desarrollar un proyecto de forma colaborativa, y esto es por eso que surgen estos problemas de "comunicación entre IDE".

Como nota final, si aprende, por ejemplo, kdevelop o netbeans, podría tener problemas si un día tiene que trabajar en una máquina donde instalar esos es problemático (por ejemplo, puede que no tenga un tiempo de ejecución de Java disponible y puede que no se le permita instalarlo). Si aprendes (digamos) plugins Vim+, estás mucho más seguro: puedes mantener tu configuración como a .archivo zip en su servidor web y estar bastante seguro de que Vim siempre estará disponible doquier.

 1
Author: UncleZeiv,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-08-22 09:01:47

Realmente no puedo responder por el módulo Eclipse, pero eso podría atribuirse al hecho de que estoy en Windows y casi no tengo idea de lo que estoy haciendo.

No puede ir mal con su editor de texto favorito sin embargo.

 0
Author: user14563,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-17 02:19:39

Eclipse no está mal, pero tienes que hacer las cosas a la manera de Eclipse. Eclipse tiene algunas ideas incorporadas en el diseño de directorios. Para un nuevo proyecto, Eclipse es una opción razonable. Importar un proyecto existente en Eclipse puede requerir alguna reestructuración.

Solía usar Eclipse bajo QNX para C++. La gente de QNX realmente desarrolló la capacidad de C++, por lo que QNX tendría un IDE.

 0
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-17 03:47:29

Emacs funciona para cosas simples, pero yo uso Eclipse para cualquier proyecto más grande.

 0
Author: ext,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-17 07:37:26