По состоянию на 2011 год: Netbeans 7 или Eclipse Indigo для C ++? - PullRequest
20 голосов
/ 06 июля 2011

По сути, это дубликат: Netbeans или Eclipse для C ++?

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

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

  1. Подсветка синтаксиса
  2. Навигация по коду.
  3. Подсказки по коду.
  4. Помощники по коду "Стиль ReSharper".
  5. Интеграция документации.
  6. Интерфейс и функции отладчика.

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

РЕДАКТИРОВАТЬ:В качестве дополнительного вопроса, кто-нибудь из пользователей Netbeans здесь обеспокоен его будущим, учитывая недавнюю плохую историю Oracle с «открытыми» усилиями?(Open Solaris, MySQL, Open Office)

Спасибо

Ответы [ 5 ]

11 голосов
/ 11 июля 2011

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

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

вещи, которые иногда работают, а иногда нет

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

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

  • Подсветка синтаксиса C ++ 0x (auto, lambdas, enum class, шаблоны variadic, ни один из них не распознается встроенным синтаксическим анализатором)

вещи, которые не совсем работают, но мне все равно:

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

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

9 голосов
/ 07 июля 2011

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

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

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

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

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

  4. Пользовательский интерфейс отладчика вполне способен.Вы можете запустить GDB в инструменте, и он позволит вам графически перемещаться по коду, как если бы вы работали с таким инструментом, как DDD или Visual C ++.Он предлагает стандартные функции, такие как просмотр регистров, память, просмотр переменных и т. Д.

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

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

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

4 голосов
/ 19 июля 2011

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

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

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

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

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

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

1 голос
/ 26 декабря 2011

Раньше я работал с NetBeans с MinGW, я только что попробовал 7.0.1. В настоящее время я использую Eclipse Indigo с CDT и MinGW - это лучшая производительность (меньше CPU и памяти).

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

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

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

0 голосов
/ 18 июля 2011

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

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

...