2008-09-17 2 views
31

Что такое лучшая среда C++ для * nix envirnoment? Я слышал, что C/C++ модуль Eclipse является достойным, а также Notepad ++, но помимо этих двух я понятия не имею. Любые мысли или комментарии?Best C++ IDE для * nix

+0

Попробуйте сайт сестры, [* Рекомендации по использованию программного обеспечения Stack Exchange *] (https://softwarerecs.stackexchange.com/). См. [Тур] (https://softwarerecs.stackexchange.com/tour). – 2018-01-29 03:56:21

ответ

29

В Ubuntu, некоторые иды, которые доступны в репозитории, являются:

Существует также:

  • (рекомендуется не устанавливать из репозиториев, из-за проблем с разрешениями файлов/папок)
  • Code::blocks

И конечно, все в любимые текстовые редакторы:

  • VI/ВИМ
  • Emacs

Это правда, что ВИМ и Emacs являются очень мощным инструментом, но кривая обучения очень крутой ..

Мне очень не нравится Eclipse так много, я нахожу его багги и немного слишком неуклюжим.
Я начал использовать Geany как голые кости, но функциональные и годный для использования IDE. Он имеет базовую функцию завершения кода и является хорошим, чистым интерфейсом [Gnome].
Anjuta Я пробовал в течение дня, мне совсем не понравилось. Я не нашел его полезным, как Гейни.

Kdevelop и код :: блоки получить кучу хороших отзывов, но я не пробовал их. Я использую gnome, и я еще не вижу приложение KDE, которое хорошо выглядит в gnome (извините, я уверен, что это отличная программа).

Если только Linux-версия dev-C++ была выпущена под Linux. Это фантастическая (но только оконная) программа. Вы всегда можете запустить его под Wine;)

В какой-то степени это зависит от личных предпочтений. Мой совет - исследовать Kdevelop, Geany и code :: blocks в качестве отправной точки.

3

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

0

Я не могу ручаться за модуль Eclipse, но это может быть связано с тем, что я нахожусь в Windows и почти не знаю, что я делаю.

Не может пойти не так, как с вашим любимым текстовым редактором.

7

Я просто использую Emacs.

18

Как программист, который много лет пишет код под Linux, я просто не могу отказаться от использования Vim для написания кода.

После того, как вы изучите его и изучите некоторые его более продвинутые функции (сгибание кода, как использовать ctags, как работать с несколькими буферами эффективно и т. Д.), Переместить в другой редактор очень сложно - как и все остальное отсутствующие функции, к которым вы привыкли.

Единственный другой редактор с надмножеством функций vim - emacs. Я настоятельно рекомендую изучать то или другое - и если у вас есть вопросы, не стесняйтесь спрашивать здесь или в #emacs или #vim на irc.freenode.net - есть очень большое и полезное сообщество, которое поможет вам узнать, какие расширения или команды лучше всего подходят для проблем с программным обеспечением, с которыми вы сталкиваетесь.

[Изменить: В комментарии отмечено, что «vim не является IDE», я согласен. Мне не нравится прозвище IDE, потому что это означает gui с менеджером проекта и связкой выпадающих ящиков. Мне нравится использовать терминологию «« Хорошие инструменты ». См Ted Leung's трудов по этому вопросу]

+3

Согласен. Я лично использую vim. но я бы не назвал это IDE, это не похоже на одно. Чувствует себя лучше, чем один :) – 2008-09-17 02:25:27

+2

Но разве вы не чувствуете, что жертвуете некоторыми функциями, которые реализует IDE с помощью vim? Например, в пределах многих выпадающих меню существуют такие функции, как реорганизация кодов обозначения имен для сотен файлов, как это можно сделать с помощью такой утилиты, как vim? – Mike 2008-09-17 02:38:18

+2

Vim имеет собственный язык сценариев, а также возможность писать сценарии на разных языках сценариев, таких как python, perl, ruby ​​и lua. См. Здесь пример: http://vim.wikia.com/wiki/Vim_as_a_refactoring_tool_and_some_examples_in_C_sharp – Jerub 2008-09-17 03:56:18

3

Netbeans получил некоторые довольно хорошие отзывы для своих C++ поддержки: http://www.netbeans.org/features/cpp/

Я никогда не использовал Netbeans или Eclipse, для разработки C++, но это стоит посмотреть.

5

Emacs - это фантастическое, идеальное решение для всех типов IDE. См. Этот другой родственный вопрос: Using Emacs as an IDE

9

Я бы порекомендовал CodeBlocks.

Основные характеристики:

  • Open Source! GPLv3, никаких скрытых затрат.
  • Кросс-платформенный. Работает на Linux, Mac, Windows (использует wxWidgets).
  • Написанный на C++. Не требуется интерпретировать языки или собственные библиотеки.
  • расширяемый с помощью плагинов

Компилятор:

  • Поддержка нескольких составитель:
    • GCC (MingW/GNU GCC)
    • MSVC++
    • Digital Mars
    • Borland C++ 5.5
    • Open Watcom
    • ... и многое другое
1

Я задал этот вопрос, прежде чем испытать пользователей Linux, и они всегда говорят, Vim и Automake. Я использую Vim в качестве моего редактора по умолчанию в Linux, и через некоторое время он становится интуитивным. Я узнал об этом, проработав несколько небольших примеров, изучая C++, чтобы научиться одновременно.

+2

Говорить «automake» меня огорчает. :(Я не говорю automake, я не ненавижу вас. – Jerub 2008-09-17 02:44:46

2

Лично я согласен с толпой kDevelop. Eclipse почувствовал себя немного громоздким и слегка неустойчивым. Что-то о kDeveloper просто всегда кажется правильным.

0

Eclipse не плохо, но вы должны делать что-то Eclipse. В Eclipse есть несколько встроенных идей в макет каталога. Для нового проекта Eclipse является разумным выбором. Импорт существующего проекта в Eclipse может потребовать некоторой реструктуризации.

Раньше я использовал Eclipse под QNX для C++. Люди QNX фактически разработали возможности C++, поэтому QNX будет иметь IDE.

4

Мое голосование - KDevelop (хотелось бы, чтобы у меня было больше очков, чтобы я мог «проголосовать», поэтому я мог просто согласиться с другими косвенно, чем комментарий).

Я использую Eclipse около двух лет для личного использования, убеждая себя, что «поскольку IBM пожертвовала его, это должно быть хорошо», но затем я обнаружил KDevelop и никогда не возвращался назад. Потому что я довольно испорчен Microsoft Visual Studio для профессионального использования, поэтому KDevelop чувствовал себя наиболее комфортно для меня.

Я хочу наслаждаться программированием как хобби, а не тратить время на поиск до того, что CTRl - к - к и Ctrl - к - б делает. Как отмечали другие, все, что «считает правильным» для них, является лучшей IDE. Для меня KDevelop чувствует себя наиболее комфортно, потому что я могу сконцентрироваться на кодировании (я, вероятно, мог бы переназначить ключи для других IDE, чтобы они выглядели как VS, но, как уже упоминалось, я скорее вкладываю свое время в кодировку, что гораздо веселее).

3

Если вы пришли из Windows & Visual Studio, вы можете обнаружить, что Code :: Blocks оправдывает ваши ожидания.

Это был мой опыт; Сначала я попробовал несколько других, но все они, похоже, ожидали, что я сделаю длинный учебник, прежде чем я смогу начать делать что-нибудь интересное - и с дюжиной IDE, чтобы попробовать, это может занять несколько дней.

С кодом :: Блоки не было обручей, чтобы проскочить, и очень мало обязательный крут, чтобы узнать, прежде чем я смогу быть продуктивным. Я по-прежнему предпочитаю Visual Studio, но Code :: Blocks может открывать мои проекты Visual Studio, и, похоже, я не хочу, чтобы я терял время, поэтому для меня это самая успешная IDE.

1

На моей старой работе мы использовали SlickEdit для разработки на C++ под Debian. Это кросс-платформенный и довольно мощный.

Это не бесплатно.

4

Я использую плагин NetBeans C++, и это превосходно. Я пришел из фона Visual Studio, и управление проектами Netbeans очень похоже. Я попробовал KDevelop, но обнаружил, что он немного flaky (это было 12 месяцев назад, так что, вероятно, сейчас это лучше).

Я также боролся с зависимостями, используя KDevelop - т. Е.где программа требует, чтобы сборник libs был построен первым, но Netbeans сделали это простым.

Единственная жалоба в том, что будучи Java-приложением, это не особенно быстро - очень заметно при работе под VMWare.

3

Я был пользователем VisualStudio + VA-X до того, как переключился на ubuntu и нуждался в хороших функциях автоматического завершения и функциональности навигации в любой среде IDE.

Я пробовал Netbeans, Eclipse CDT, CodeBlocks, Geany, Anjuta, KDevelop и, наконец, устроился для KDevelop, так как это было самое близкое, что я мог получить VS VSA.

Eclipse & NetBeans слишком тяжелые & вялый для моего вкуса. Большинство других IDE имеют ошибки/неполное/немое автоматическое завершение & другие функции; или они хотят взять под свой контроль свой код и должны быть импортированы в проекты; или они помещают 101 файл в вашу исходную папку. Только KDevelop разрешил мне иметь простую ссылку на мою папку src и позволить мне работать. автоматическое завершение не является блестящим, но лучше, чем другие.

KDevelop не очень хорошо сочетается с моей Gnome, но я могу жить с ним;)

2

Ultimate ++ [http://www.ultimatepp.org/index.html]

[править]
У него есть свой собственный ++ класс LIBS C (как точки Hernan), но ничто не мешает вам использовать какие-либо другие классы lib, например SDL, или вы можете катить свои собственные. Вы даже можете использовать boost, если хотите, но я должен сказать, что некоторые из предложенных классов & являются более полезными.

Что я ценю больше всего - это блестящая интеграция с отладчиком и очень полным контекстно-зависимым редактором. Он использует стандартный компилятор & отладчик (gcc, g ++, gdb) в Linux и компилятор/отладчик MS на этой платформе.

Единственная (очень маленькая) ручка у меня есть самодельные имена для проектов (называемые Nest & и так далее). Это не нужно и даже может быть отложено серьезным разработчикам, но это только имена & Я считаю, что могу легко проигнорировать его.

0

Emacs работает для простых вещей, но я использую Eclipse для любого более крупного проекта.

4

Проще говоря, Netbeans. Вы должны попробовать. Это очень хорошо. Это намного лучше, чем Eclipse с плагином CDT.

10

Я удивлен, что никто не упомянул Qt Creator, так как он доступен в большинстве хранилищ, довольно небольшого размера, и в то же время делает многое, что мне нужно очень хорошо.

1

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

  • Если вы начинаете проект в конкретном IDE, они будут макетом для вас определенную структуры каталогов, организации файлов, присвоение имен файлов, создание системы и т.д. Конечно, большинство из этих параметров настраиваются, но не всегда возможно придерживаться определенных соглашений, которые вам могут потребоваться. Проекты со сложной системой сборки могут быть трудно реализованы в среде IDE. Более того, проект может быть непригоден для внешних, независимых изменений; например, если вы планируете писать приложение с открытым исходным кодом, избегайте создания IDE зависимости для проекта.

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

Причина, почему эти ары не проблема под Windows, является то, что Visual Studio является стандартом де-факто. В рамках * nix существует тенденция не налагать конкретные инструменты/редакторы при совместной разработке проекта, и именно поэтому возникают проблемы с «перекрестной IDE-связью».

В заключение, если вы узнаете, скажем, kdevelop или netbeans, у вас могут возникнуть проблемы, если в один прекрасный день вам придется работать на машине, где их установка является проблематичной (например, у вас может не быть доступной Java-среды, и вы возможно, не будет разрешено его устанавливать). Если вы изучаете (скажем) плагины Vim +, вы намного безопаснее: вы можете сохранить свою конфигурацию как .zip-файл на своем веб-сервере и быть уверенным, что Vim всегда будет доступен везде.