Подтвердить что ты не робот

По состоянию на 2011 год: Netbeans 7 или Eclipse Indigo для С++?

Это в основном дубликат: Netbeans или Eclipse для С++?

Но этот вопрос как 3+ лет, и многое изменилось с тех пор.

У меня есть большая база кода с пользовательской (но основанной на Makefile) системой сборки. В области, о которых я особенно задумываюсь, относятся:

  • Подсветка синтаксиса
  • Навигация по коду.
  • Подсказки кода.
  • Помощники кода "ReSharper style".
  • Интеграция документации.
  • Пользовательский интерфейс отладки и функции.

У кого-нибудь была возможность оценить как Netbeans, так и Eclipse?

EDIT: В качестве последующего вопроса, являются ли пользователи Netbeans, связанные с его будущим, учитывая недавнюю плохую историю Oracle с "открытыми" усилиями? (Open Solaris, MySQL, Open Office)

Спасибо

4b9b3361

Ответ 1

Я не могу комментировать Netbeans, но я могу предложить вам информацию о Eclipse. Я работаю с С++ в UNIX-системах, и я начал использовать Eclipse при изучении больших кодовых баз, о которых я мало что знаю. Я не использую его для сборки, но с ним легко интегрировать нашу систему сборки, поскольку нужны только команды.

Eclipse имеет большую часть того, что вы ищете: (я говорю о Eclipse/CDT)

  • Вы можете не только полностью настроить подсветку синтаксиса, но также можете форматировать код с помощью шаблонов. У моей компании есть стандарт кода для интервалов, вкладок и форматирования функций и условного кода, и с минимальными усилиями я смог изменить существующий шаблон для соответствия нашим стандартам кода.

  • Навигация неплохая, если вы выделите и наведите указатель мыши на переменную, она покажет вам определение в маленьком всплывающем пузыре. Если вы сделаете то же самое для типа, вы покажете вам, где этот тип определен. Для функций он покажет первые несколько строк реализации функции, с возможностью ее расширения и просмотра всей функции. Я нахожу все это приятным для обнаружения и навигации кода. Вы также можете выделить переменную и использовать опцию меню правой кнопки мыши, чтобы перейти к ее объявлению.

  • Я полагаю, что с помощью подсказок кода вы имеете в виду нечто вроде intellisense? Это основная причина, по которой я использую Eclipse при просмотре большой базы кода. Просто нажмите ".". или '- > ', а через секунду вы получите свои варианты.

  • Пользовательский интерфейс отладчика вполне способен. Вы можете запустить gdb внутри инструмента, и он позволяет вам графически перемещаться по вашему коду так же, как и в инструменте, таком как ddd или Visual С++. Он предлагает стандартные функции, такие как просмотр регистров, памяти, просмотр переменных и т.д.

Сказав это, я обнаружил некоторые недостатки. Во-первых, он не очень сильно поддерживает системы контроля версий вне CVS и SVN очень легко (интегрирован в GUI). Я нашел плагин для системы, которую мы используем в моей компании, но это искажает XML и мусор Unicode. Было проще просто использовать элемент управления ревизией в командной строке. Я подозреваю, что это проблема подключаемого модуля, а не Eclipse. Я бы хотел, чтобы была лучшая интеграция с инструментами.

Вторая жалоба заключается в том, что для каждого проекта я должен вручную настроить каталоги include и пути библиотек. Возможно, с переменной окружения это можно обойти? Или я просто не знаю, как правильно настроить ситуацию. И снова, если разработчику не очевидно, как это сделать, я считаю, что слабость инструмента.

В целом мне нравится работать с Eclipse. Это не моя основная среда редактирования, но я ценю ее для работы с большими базами кода.

Ответ 2

Я не могу прокомментировать затмение, но на netbeans 7 я скажу то, что очень важно для меня, и это прекрасно работает до сих пор:

  • завершение кода, перейти к объявлениям
  • pkg-config automatic включает управление для синтаксического анализа

который иногда работает, а иногда и не

  • найти способы использования, иногда он может не найти использование в других открытых проектах.
  • отладчик иногда путается с макросами unittest-cpp, и он не будет работать в соответствующей строке

которые еще не работают, и я глубоко об этом забочусь:

  • Выделение синтаксиса С++ 0x (auto, lambdas, enum class, variadic templates, ни один из них не распознается встроенным парсером)

материал, который не работает, но мне все равно.

  • Интеграция
  • git. Мне нравится использовать git из командной строки, так что это не проблема.

IDE очень удобна. Я надеюсь, что у меня будет возможность опробовать последний cdt на Indigo Eclipse, но до сих пор у меня нет такой реальной причины, чтобы исследовать

Ответ 3

Я большой поклонник Netbeans. Я в аналогичной ситуации с твоей, но создание проекта было очень простым. Просто укажите Netbeans, где код проверен, и он определяет большинство вещей для себя. Мне редко приходится делать какие-либо настройки. Однако стоит отметить, что если ваше дерево очень велико, для полного индекса может потребоваться некоторое время, и, хотя это произойдет, память и процессор будут закрыты в окне.

Интеграция с cvs является удивительной, и интеграция Хадсона очень крута для CB. Я сам не использовал Git, хотя я должен представить себе это без проблем.

Одна вещь, которая меня раздражает, не в том, что она не очень хорошо себя ведет с кодом, который сильно зависит от шаблонов. то есть показывает множество предупреждений и ошибок о не найденных типах и т.д.

Я не использовал последнюю версию Eclipse, я пробовал основной выпуск до текущего и отказался, потому что у него не было такой же гладкой интеграции проекта с make файлами и т.д. Я считаю, что это не так приятно, Я хочу использовать систему, хотя я могу ошибаться.

Я не использую никакого форматирования кода, вместо этого вместо этого предпочитаю что-то вроде AStyle. Я знаю, что NetBeans хорошо работает с Java, но не использовал его для С++. CDT Кажется, я помню, как делал некоторые нечетные вещи с отступом при форматировании кода на С++ - esp. если задействованы шаблоны, но это было по крайней мере два года назад.

Надеюсь, что некоторые из них помогут - лучший способ сделать это - загрузить и попробовать сами и посмотреть, что сработает для вас. Все, что мы говорим вам, чисто субъективно.

Ответ 4

Я работал с Netbeans с MinGW, я просто попробовал 7.0.1. В настоящее время я использую Eclipse Indigo с CDT и MinGW - он лучше работает (меньше процессора и памяти).

Netbeans создает make файл для компиляции все время, В Eclipse вы можете напрямую создавать CDT-Toolchain или использовать Makefile - Eclipse более гибкий.

Отладка: NetBeans может быть лучше в Solaris/Linux.

Я лично затмеваю над Netbeans, я думаю, что затмение более профессионально.

Ответ 5

Одна из проблем, которая вызывает у меня довольно много горя в NetBeans 7.0, заключается в том, что она, как правило, хочет работать с файлами utf8, и не все из проектов С++ - utf8. Он выдаст предупреждение об открытии такого файла, и если вы его откроете, это повредит файл, который является болью.

Я не узнал, как правильно заставить netbeans справиться с этим. По-видимому, кодировка может быть изменена, но для всего проекта. Поэтому, предположительно, сменив его на нас, эта проблема остановит эту проблему, хотя символы не ascii не будут отображаться должным образом.