IDE для больших многоязычных проектов (например, ядра Linux)

11

Я знаю, вопрос "какую IDE вы, ребята, используете" задавали миллион раз. Но я никогда не видел этого в этом контексте. Какие предложения для IDE при работе над огромными проектами, которые охватывают несколько языков и тысячи файлов.

Хорошим примером является источник Android. Для ядра требуется не только хорошая C / C ++ IDE, но и сценарии Java и оболочки. Есть что-нибудь, что построено для такого проекта?

Я обычно использую KDevelop для C / C ++. Мне это нравится, однако, он, кажется, взрывается при использовании его для огромных проектов, таких как ядро ​​Linux. Кроме того, он даже ничего не делает для Java или Python.

Поэтому я в основном ищу предложения для IDE / установок (т.е. скриптов vim +) для работы с большими проектами, включая само ядро ​​linux.

Редактировать :

Я думаю, что, возможно, было неясно. Я не совсем ищу IDE как таковую. Что меня действительно интересует, так это инструмент (набор инструментов?), Облегчающий работу с крупными связанными проектами. Например. Ядро Linux определяет множество макрофункций. Я хочу иметь возможность открыть любой данный исходный файл в дереве ядра и увидеть определение этого макроса (будь то с помощью мыши, окна расширения vim или чего-то еще).

Falmarri
источник
Для навигации по ядру Linux особенно полезна LXR (онлайн-ссылка на Linux) . Для Android Eclipse является предпочтительной IDE, поэтому авторы потратили немного энергии, чтобы все работало с ним.
Жиль "ТАК - перестань быть злым"
1
Под Android вы имеете в виду разработку java-приложений для Android? Или разработка ядра Android / NDK?
Фальмарри,
@Falmarri - Из того, что я обнаружил, в конкретном случае разработки ядра Linux кажется, что Link + очень популярен: sourceforge.net/projects/linkplustest
Гай Авраам

Ответы:

5

Я бы порекомендовал, чтобы вы не придерживались ни одной IDE. Позвольте вашему коду оставаться в виде плоских файлов в файловой системе и использовать независимые инструменты (Emacs, GCC toolchain, Ctags и т. Д.), Необходимые для реализации операций, которые вы должны реализовать. Это будет держать вашу кодовую базу IDE-независимой и свободной от беспорядка, который ее окружает (например, файлы .project и т. Д.).

Аарохи Йохал
источник
2
Я думаю, это мой вопрос. Мне не обязательно нужна IDE как таковая (как со всеми ее функциями). Но я хочу видеть, где определены макросы ядра, завершение кода и тому подобное. Когда проекты начинают достигать десятков тысяч файлов с зависимостями времени компиляции и условными определениями, очень сложно сохранять ясность, используя vim.
Фальмарри,
1

Я могу говорить только из опыта, поэтому он, вероятно, не охватывает проекты размером с ваш. Я использую Code :: Blocks для разработки на C и C ++.

Однако общая идея заключается в том, чтобы разумно использовать такие вещи, как git , vim , ctags и т. Д., И не привязывать все к определенной среде IDE. Хитрость в том, чтобы не заставлять разработчиков использовать определенную IDE. Каждый в вашем проекте должен использовать любую технику разработки и программы, которые ему нравятся.

Что касается управления большим количеством файлов, пусть файловая система сделает всю работу. Используйте папки и описательные файлы, а также комментарии внутри вашего кода.

Полемон
источник
1

Затмение, вероятно, будет лучшим выбором для вас. Он имеет плагины для огромного количества языков и технологий, настраиваемых, доступных для всех ОС. Как минус он использует Java и требует много памяти.

user6489
источник
2
Eclipse слишком ненадежен при использовании этого для больших проектов. Java-разработчики придерживаются этого, потому что вокруг мало альтернатив.
Полемон
Вы использовали его с большим проектом без проблем?
Чепанг
2
Проблема, с которой я столкнулся при затмении - это менталитет плагинов. Многие были (все еще остаются?) Несовместимыми и в основном несовместимыми пользовательскими интерфейсами. Когда вам захочется сделать что-то «новое», например, отредактировать файл, не являющийся Java, вы должны загрузить и установить плагин, который имеет столько же шансов сделать всю установку нестабильной, как и при работе.
Mattnz
1

Я использую Visual Slick Edit для большой (миллионы SLOC) унаследованной многоязычной, многоплатформенной, многопользовательской среды разработки. Это коммерческий и дорогой (если не учитывать ваше время). Для серьезного сеанса Java я переключаюсь на Eclipse, но для быстрого исправления / инструмента в Java, C / C ++, Ada, Python, Pearl, Scripts и многих других, это единственный известный мне инструмент, который может это сделать, из коробка.

Вы бы сами себе оказали медвежью услугу, чтобы не скачать пробную версию и посмотреть,

mattnz
источник