IDE pour les grands projets multilingues (c.-à-d. Noyau Linux)

11

Je sais que la question "quel IDE utilisez-vous les gars" a été posée un million de fois. Mais je ne l'ai jamais vu poser dans ce contexte. Quelles sont quelques suggestions pour un IDE lorsque vous travaillez sur d'énormes projets qui englobent plusieurs langues et des milliers de fichiers.

Un bon exemple est la source Android. Non seulement un bon IDE C / C ++ est requis pour le noyau, mais aussi des scripts Java et shell. Y a-t-il quelque chose qui est construit pour ce genre de projet?

Ce que j'utilise normalement est KDevelop pour C / C ++. Je l'adore, cependant, il semble exploser en l'utilisant pour d'énormes projets tels que le noyau Linux. De plus, il ne fait même rien pour Java ou python.

Donc, ce que je recherche essentiellement, ce sont des suggestions d'IDE / configurations (c'est-à-dire vim + scripts) pour travailler avec de grands projets, y compris le noyau linux lui-même.

Modifier :

Je pense que je n'ai peut-être pas été clair. Je ne cherche pas exactement un IDE en soi. Ce qui m'intéresse vraiment, c'est un outil (ensemble d'outils?) Qui facilite le travail avec de grands projets couplés. Par exemple. Le noyau linux définit de nombreuses fonctions macro. Je veux pouvoir ouvrir n'importe quel fichier source donné dans l'arborescence du noyau et voir la définition de cette macro (que ce soit en passant la souris dessus, ou une fenêtre d'extension vim, ou quoi que ce soit).

Falmarri
la source
Pour naviguer spécifiquement dans le noyau Linux, LXR (référence croisée Linux en ligne) est très utile. Pour Android, Eclipse est l'IDE préféré, donc les auteurs ont dépensé un peu d'énergie pour que les choses fonctionnent bien avec.
Gilles 'SO- arrête d'être méchant'
1
Par Android, voulez-vous dire le développement d'applications Java pour Android? Ou le développement du noyau Android / NDK?
Falmarri
@Falmarri - D'après ce que j'ai trouvé, dans le cas spécifique du développement du noyau Linux, il semble que le Link + soit très populaire: sourceforge.net/projects/linkplustest
Guy Avraham

Réponses:

5

Ce que je recommanderais, c'est que vous ne vous en teniez à aucun IDE. Laissez votre code rester sous forme de fichiers plats dans le système de fichiers et utilisez les outils indépendants (Emacs, la chaîne d'outils GCC, Ctags, etc.) dont vous avez besoin pour implémenter les opérations que vous devez implémenter. Cela gardera votre base de code indépendante de l'EDI et sans encombrement qui l'entoure (comme les fichiers .project, etc.).

Aarohi Johal
la source
2
Je suppose que c'est en quelque sorte ma question. Je n'ai pas nécessairement besoin d'un IDE en soi (comme pour toutes ses fonctionnalités). Mais ce que je veux pouvoir voir, c'est où les macros du noyau sont définies, l'achèvement du code et des choses comme ça. Lorsque les projets commencent à atteindre des dizaines de milliers de fichiers avec des dépendances de temps de compilation et des définitions conditionnelles, il est extrêmement difficile de garder les choses en ordre avec vim.
Falmarri
1

Je ne peux parler que par expérience, donc cela ne comprend probablement pas les projets de la taille du vôtre. J'utilise Code :: Blocks pour le développement en C et C ++.

L'idée générale est cependant de faire un usage intelligent de choses comme git , vim , ctags , etc., et de garder tout non lié à un IDE spécifique. L'astuce consiste à ne pas forcer les développeurs à utiliser un certain IDE. Tout le monde sur votre projet doit utiliser la technique de développement et les programmes qu'ils aiment.

Quant à la gestion de grandes quantités de fichiers, laissez le système de fichiers faire le travail. Utilisez des dossiers et des fichiers descriptifs, ainsi que des commentaires dans votre code.

polémon
la source
1

Eclipse serait probablement le meilleur choix pour vous. Il a des plugins pour une énorme quantité de langues et de technologies, personnalisables, disponibles pour tous les systèmes d'exploitation. Comme moins, il utilise java et nécessite beaucoup de mémoire.

user6489
la source
2
Eclipse est trop peu fiable lorsque vous l'utilisez pour des projets plus importants. Les développeurs Java s'y tiennent, car il existe peu d'alternatives.
polemon
L'avez-vous utilisé sans problème avec un grand projet?
tshepang
2
Le problème que j'ai eu avec eclipse est la mentalité du plugin. Beaucoup étaient (sont toujours?) Des interfaces utilisateur incompatibles et pour la plupart incohérentes. Chaque fois que vous voulez faire quelque chose de "nouveau", comme éditer un fichier qui n'est pas Java, vous devez télécharger et installer un plugin, qui a autant de chances de rendre toute l'installation instable que de travailler.
mattnz
1

J'utilise Visual Slick Edit pour un grand (plusieurs millions de SLOC), un environnement de développement multi-langue, multi-plateforme et multi-héritage. C'est commercial et cher (sauf si vous tenez compte de votre temps). Pour une session Java sérieuse, je passe à Eclipse, mais pour une solution / un outil rapide autour de Java, C / C ++, Ada, Python, Pearl, Scripts et bien d'autres, c'est le seul outil que je connaisse qui puisse le faire, hors de la boîte.

Vous ne vous rendriez pas service de ne pas télécharger d'essai et de voir s'il

mattnz
la source