IDE para proyectos grandes en varios idiomas (es decir, kernel de Linux)

11

Sé que la pregunta "¿Qué IDE usan ustedes?" Se ha hecho un millón de veces. Pero nunca lo he visto en este contexto. ¿Cuáles son algunas sugerencias para un IDE cuando se trabaja en grandes proyectos que abarcan múltiples idiomas y miles de archivos?

Un buen ejemplo es la fuente de Android. No solo se requiere un buen IDE de C / C ++ para el kernel, sino también los scripts de Java y shell. ¿Hay algo construido para este tipo de proyecto?

Lo que normalmente uso es KDevelop para C / C ++. Me encanta, sin embargo, parece explotar cuando se usa para grandes proyectos como el kernel de Linux. Además, ni siquiera hace nada para Java o Python.

Entonces, lo que básicamente estoy buscando son sugerencias para IDE / configuraciones (es decir, vim + scripts) para trabajar con proyectos grandes, incluido el kernel de Linux.

Editar :

Creo que no he sido claro. No estoy buscando exactamente un IDE per se. Lo que realmente me interesa es una herramienta (¿conjunto de herramientas?) Que facilite el trabajo con proyectos grandes y acoplados. Por ejemplo. El kernel de Linux define muchas funciones macro. Quiero poder abrir cualquier archivo fuente en el árbol del kernel y poder ver la definición de esa macro (ya sea al pasar el mouse por encima, o por una ventana de extensión vim, o cualquier otra cosa).

Falmarri
fuente
Para navegar específicamente por el kernel de Linux, LXR (referencia cruzada de Linux en línea) es muy útil. Para Android, Eclipse es el IDE preferido, por lo que los autores han gastado algo de energía para que las cosas funcionen bien con él.
Gilles 'SO- deja de ser malvado'
1
Por Android, ¿te refieres al desarrollo de aplicaciones Android Java? ¿O desarrollo del kernel de Android / NDK?
Falmarri
@Falmarri - Por lo que he encontrado, en el caso específico del desarrollo del kernel de Linux, parece que Link + es muy popular: sourceforge.net/projects/linkplustest
Guy Avraham

Respuestas:

5

Lo que recomendaría es que no se adhiera a ningún IDE por palabra. Deje que su código permanezca como archivos planos en el sistema de archivos y use herramientas independientes (Emacs, la cadena de herramientas GCC, Ctags, etc.) que tiene que implementar para implementar las operaciones que debe implementar. Eso mantendrá su base de código IDE independiente y libre de desorden que lo rodea (como archivos de proyecto, etc.).

Aarohi Johal
fuente
2
Supongo que esa es mi pregunta. No necesito necesariamente un IDE per se (como en todas sus características). Pero lo que quiero poder ver es dónde se definen las macros del kernel, la finalización del código y cosas así. Cuando los proyectos comienzan a llegar a decenas de miles de archivos con dependencias de tiempo de compilación y definiciones condicionales, es extremadamente difícil mantener las cosas claras usando vim.
Falmarri
1

Solo puedo hablar por experiencia, por lo que probablemente no abarque proyectos del tamaño de los suyos. Yo uso Code :: Blocks para el desarrollo en C y C ++.

Sin embargo, la idea general es hacer un uso inteligente de cosas como git , vim , ctags , etc., y mantener todo sin vincular a un IDE específico. El truco es no forzar a los desarrolladores a usar un cierto IDE. Todos en su proyecto deben usar cualquier técnica de desarrollo y programas que deseen.

En cuanto a la administración de grandes cantidades de archivos, deje que el sistema de archivos haga el trabajo. Utilice carpetas y archivos descriptivos, así como comentarios dentro de su código.

polemon
fuente
1

Eclipse probablemente sea la mejor opción para usted. Tiene complementos para una gran cantidad de idiomas y tecnologías, personalizables, disponibles para todos los sistemas operativos. Como menos, usa Java y requiere mucha memoria.

usuario6489
fuente
2
Eclipse es demasiado poco confiable cuando se usa para proyectos más grandes. Los desarrolladores de Java se adhieren a él, porque existen pocas alternativas.
polemon
¿Lo has usado con un proyecto grande sin problemas?
tshepang
2
El problema que tuve con eclipse es la mentalidad del complemento. Muchas eran (¿todavía lo son?) Interfaces de usuario incompatibles y en su mayoría inconsistentes. Cuando quiera hacer algo "nuevo", como editar un archivo que no sea Java, debe descargar e instalar un complemento, que tiene tantas posibilidades de hacer que toda la instalación sea inestable como funciona.
mattnz
1

Utilizo Visual Slick Edit para un entorno grande (millones de SLOC), multi-idioma, multi-plataforma, multi-desarrollo heredado. Es comercial y costoso (a menos que tenga en cuenta su tiempo). Para una sesión Java seria, cambio a Eclipse, pero para una solución rápida / herramienta en Java, C / C ++, Ada, Python, Pearl, Scripts y muchas otras, es la única herramienta que conozco que puede hacerlo, fuera de caja.

Te haría un mal servicio no descargar una versión de prueba y ver si

Mattnz
fuente