2009-03-28 19 views
5

Estoy en busca de un buen IDE para C++ que tiene la mayor parte o la totalidad de las siguientes propiedades (bueno, los primeros 4 o 5 unidades son obligatorios):IDE multiplataforma en C++?

  1. multiplataforma (al menos Mac, Linux)

  2. de proyectos (tanto mis ordenadores Linux y Mac son por supuesto, resaltado de sintaxis y otra funcionalidad básica editor de codificación

    • GUI razonablemente sensible, no demasiado lento en tamaño medio (por ejemplo, 100 archivos) 5 años de edad)

    • finalización de código

    • integración con gdb

    • integración SVN sería bueno también

    • refactorización (cambiar el nombre de una variable de forma semiautomática largo del código fuente, etc.)

    • puede mostrar la jerarquía de clases

    • pueden añadir enlaces de tipo hipertexto al código (por lo que puede hacer clic en un nombre de función/clase y que le lleva a la declaración),

    • puede mostrar partes de código que (potencialmente) Di mi función (lo sé eso es difícil de hacer para C++ por lo que añade el potencialmente)

hasta ahora, he estado usando Emacs para todo, pero creo que las características avanzadas que me dan más general y capacidades de búsqueda como los últimos tres serían agradables. Estoy cansado de usar grep y find en mi código base.

Básicamente, quiero la mayoría de las cosas para el desarrollo de C++ que suelen hacer los IDEs de Java.

veo Netbeans se puede utilizar para C++, así como Eclipse. Creo que encajarían en mis requisitos. ¿Alguien realmente los usó para la codificación diaria? ¿Cuáles son las diferencias? ¿Cuáles son tus experiencias? Code::Blocks es más ligero y no hace muchas de las cosas enumeradas anteriormente, ¿verdad?

Nota: No necesito un constructor de GUI.

Actualización: Con la viñeta 10 quiero decir que puedo darle un nombre de función (por ejemplo Foo::setValue), y me muestra todos los sucesos en los que esta función particular (y no otras funciones del mismo nombre, al igual que Bar::setValue) se llama en mi base de código.

+0

¿Cuál de las cosas de arriba cree que tiene Code :: Blocks not do? –

+0

No estoy seguro. ¿Lo sabes? – Frank

+0

Un programa externo útil para el n. ° 10, si su IDE no posee esas características, es cscope: http://cscope.sourceforge.net/ – ypnos

Respuesta

7

Code :: Blocks hace el primer 5 y es también consiguió método de la clase de navegación (aunque no una pantalla de jerarquía).Es una solución mucho más ligera que Eclipse o NetBeans, pero si te gusta el enfoque minimalista, es bastante bueno.

En resumen CB frente a sus necesidades:

  1. No - pero puede agregar fácilmente
  2. Sin
  3. No, pero s funcionalidad imilar
  4. Sin
  5. puede ir desde la definición hasta decl y viceversa, pero la lista no hay personas que llaman

Como todas las soluciones que mencionas son libres, siempre se puede tratar a todos ellos y luego tomar una decisión sobre con cuál quedarse. Eso fue lo que hice.

+0

¿En qué se diferenciaron sus requisitos? ¿Escogiste Code :: Blocks entonces? –

+0

Diferente de qué? De los interrogadores? No quiero la integración de SVN (yo uso Tortoise) o algunas de las otras cosas. Sí, elegí CB. –

+0

10: como las "referencias de la demostración" de Visual Studio. Haga clic derecho en un método o variable, e intenta mostrarle todas las llamadas de códigos de lugares o lo usa. Es un poco al azar, a veces, así que solo 'encuentro en los archivos' el nombre del método. – gbjbaanb

1

Go for Eclipse. Si tienes una computadora decente, es lo suficientemente rápida y tiene mejores posibilidades con sus complementos.

+1

Netbeans y CodeBlocks también tienen complementos. –

1

bloques de código tienen una gran cantidad de features ¡simplemente revíselos! ¡y es gratis!

+0

Netbeans y Eclipse también son gratuitos. –

2

Los IDE basados ​​en Java (Netbeans y Eclipse) a veces son algo lentos. También su enfoque principal es Java. Un problema con Eclipse es que es difícil de usar para pantallas pequeñas, como en las computadoras portátiles. Prefiero trabajar habitualmente en vim + ctags (para realizar las funciones de grep y find), y cuando tengo algunas operaciones avanzadas como comparar dos jerarquías de directorios, utilizo Eclipse. No he usado Code :: Blocks mucho, pero escucho cosas buenas al respecto.

Viniendo de Emacs, creo que preferirías algo ligero y no pesado. Consideraría Code :: Blocks entonces como un buen candidato para la exploración.

2

Recomendaría Netbeans, en 6.5, es IDE bastante rápido y ofrece los 10 requisitos.

2

Hace poco hice esta misma pregunta. Terminé eligiendo Eclipse con el complemento CDT y las bibliotecas Cygwin. He estado muy contento con eso, excepto que aún no me he acostumbrado al depurador. La ventana para recorrer la fuente en la perspectiva de depuración es bastante pequeña, por alguna razón no he descubierto cómo ver en las matrices, y creo que noqueé una de las ventanas para mostrar variables y no sé cómo obtener vuelve. Terminé abandonando la perspectiva del depurador y simplemente recorro los errores en la perspectiva normal.

Además, uso Eclipse para Java, por lo que ayudó a minimizar la curva de aprendizaje. Puede hacer refactorización y puede integrar svn.

+0

Es horrible usar eclipse en computadoras portátiles con un tamaño de pantalla limitado. –

+0

Ah, tal vez eso es todo. Estoy en una computadora portátil y aumente la resolución de pantalla para arrancar. –

+0

CodeBlocks funciona perfectamente en mi computadora portátil de 9 años :-) –

3

Además de los mencionados, hay QTCreator, que tiene "Herramientas rápidas de navegación de código" aunque no lo he usado.

Creo que, aunque los requisitos no esenciales no son tan buenos, ¡puede ver fácilmente dónde se llama un método mediante la búsqueda!(por supuesto, si tienes una gran jerarquía de clases donde cada clase tiene el mismo método nombrado, solo tú tienes la culpa :) si no has distribuido tus clases de una manera fácil de entender)

1

Si Ya conozco Emacs, puede ser más fácil comenzar a usar algunos paquetes más, que aprender un IDE completamente nuevo.

Por ejemplo, puede hacer fácilmente # 9 con Emacs: simplemente ejecute las etiquetas una vez y luego M-. RET en cualquier lugar.

También tiene que sopesar las características del IDE con respecto a lo que pierde. Por ejemplo, la mayoría de los IDE no suelen tener las capacidades macro fáciles de Emacs o los prefijos numéricos, que a menudo son como una forma más general de refactorización.

1

No es solo el IDE lo que importa, es probable que necesite poder crear su aplicación fuera del IDE (es decir, integración continua).

Considere usar CMake para crear una descripción multiplataforma de sus scripts de compilación. Una vez que tenga el script CMake (que es sencillo) puede generar desde él archivos de proyecto para el IDE de su elección: eclipse, kdevelop, Visual Studio, bloques de código, etc.

Sugeriría usar eclipse como un IDE. Hay pocas opciones de cómo usar CMake con eclipse. Juega, y encuentra lo mejor para ti.

Una vez más - CMake es no sólo multiplataforma también es cruzada IDE. Y guiones CRealice son muy legible, un archivo de maquillaje simple podría tener este aspecto:

project(hello) 
add_executable(hello hello.cpp) 

Ahora compare eso con archivos make, o la creación de un proyecto en su IDE favorito!

0

Mis dos centavos (en ningún orden en particular ... y no todas estas opciones son C++):

  1. Qt ... mi primer marco de creación de interfaz gráfica de usuario productiva
  2. Lázaro ... lo que un lugar fresco nombrar, y una herramienta muy productiva (no C++, aunque)
  3. MonoDevelop ... estoy enamorando de desarrollo C# (muy parecido a C++)
  4. Java ... ubicua (un poco como C++)

¡ANIMACIONES!

0

Sublime Text Editor es el mejor editor multiplataforma hasta ahora que he visto. Intente usarlo http://www.sublimetext.com/. Viene con un período de demostración ilimitado sin suprimir ninguna de sus funciones. Pero si está satisfecho con eso, cómprelo y úselo para acreditar al autor.