Вопрос

Я хочу расширить свои горизонты программирования до Linux.Важен хороший, надежный базовый набор инструментов, а что может быть более простым, чем IDE?

Я мог бы найти эти темы SO:

Я не ищу легкий вес IDE.Если IDE стоит денег, то я заплачу за нее, так что она не обязательно должна быть бесплатной.

Тогда мой вопрос:

Какая хорошая среда разработки на C ++ доступна для Linux?

Минимумы довольно стандартны:подсветка синтаксиса, завершение кода (например intellisense или его аналог Eclipse) и интегрированная отладка (например, базовые точки останова ).

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

Во втором посте на самом деле есть несколько хороших предложений, но чего мне не хватает, так это того, что именно делает sugested IDE такой полезной для пользователя, каковы ее преимущества?

Возможно, поэтому мой вопрос должен быть таким:

Какую IDE вы предлагаете (учитывая ваш опыт) и почему?

Это было полезно?

Решение

Изначально:замешательство

Когда я первоначально писал этот ответ, я недавно переключился с Visual Studio (с многолетним опытом работы) на Linux, и первое, что я сделал, это попытался найти разумную IDE.В то время это было невозможно:хорошей IDE не существовало.

Прозрение:UNIX - это IDE. Все это.1

И тогда я понял, что IDE в Linux - это командная строка со своими инструментами:

  • Сначала вы настраиваете свою оболочку
  • и ваш редактор;выбирайте свой яд — и то, и другое является самым современным:

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

Как только это будет сделано, оболочка станет вашим командным интерфейсом для взаимодействия с различными инструментами — отладчиками (gdb), профилировщиками (gprof, valgrind) и т.д.Вы настраиваете среду своего проекта / сборки с помощью Сделать, СМейк, Приготовление змеи или любая из различных альтернатив.И вы управляете своим кодом с помощью системы контроля версий (большинство людей используют Мерзавец).Вы также используете tmux (ранее также экран) для мультиплексирования (= подумайте о нескольких окнах / вкладках / панелях) и сохранения вашего сеанса терминала.

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

Каждому свое

Я не могу переоценить, насколько хорошо работает описанный выше рабочий процесс, как только вы войдете в привычку.Но некоторые люди просто предпочитают графические редакторы, и за годы, прошедшие с момента написания этого ответа, Linux приобрел набор превосходных графических IDE для нескольких разных языков программирования (но, насколько мне известно, не для C ++).Попробуйте их, даже если, как и я, вы в конечном итоге не будете ими пользоваться.Вот лишь небольшая и предвзятая подборка:

Имейте в виду, что этот список далеко не полный.


1 Я украл это название из комментария dsm.

2 Раньше я ссылался здесь на Vim.И хотя обычный Vim по-прежнему более чем работоспособен, Neovim - многообещающий перезапуск, и в нем модернизированы несколько старых ошибок.

Другие советы

Мое личное любимое блюдо - это CodeLite 2.x IDE.

видишь: http://www.codelite.org

Решение использовать CodeLite было основано на исследовании следующей среды разработки C ++ IDE для Linux:

  • Eclipse Galileo с плагином CDT
  • NetBeans 6.7 (который также является базой для IDE SunStudio)
  • KDevelop4
  • Кодовые блоки 8.02
  • CodeLite 2.x

В конце концов, я решил использовать CodeLite 2.x.

Ниже я перечислил некоторые плюсы и минусы, касающиеся упомянутых C ++ IDE.Пожалуйста, обратите внимание, что это отражает только мое личное мнение!

Редактировать:как жаль, что SOF не поддерживает таблицы, поэтому мне приходится писать абзацами...

Eclipse Galileo с плагином CDT

Плюсы:

  • разумно быстро
  • также поддерживает Java, Perl (с плагином E.P.I.C)
  • широко используемый и в хорошем состоянии
  • также доступно для других версий ОС (Windows, macOS, Solaris, AIX (?))

Минусы:

  • Графический интерфейс очень запутанный и несколько непоследовательный - совсем не очень интуитивно понятный
  • тяжелый вес
  • Поддерживает только CVS (AFAIK)

NetBeans 6.7 (обратите внимание, что это также база для IDE SunStudio)

Плюсы:

  • один из самых интуитивно понятных графических интерфейсов, которые я когда-либо видел
  • также поддерживает Java, Python, Ruby
  • интегрирует CVS, SVN, Mercurial
  • широко используемый и в хорошем состоянии
  • также доступно для других версий ОС (Windows, macOS, Solaris)

Минусы:

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

KDevelop4 (примечание:Я не очень много тестировал его)

Плюсы:

  • обычно используется в Linux
  • интегрирует CVS, SVN, Mercurial

Минусы:

  • графический интерфейс выглядит несколько старомодно
  • тяжелый вес
  • очень специфичен для среды KDE

Кодовые блоки 8.02 (примечание:Я не очень много тестировал его)

Плюсы:

  • разумно быстро

Минусы:

  • графический интерфейс выглядит несколько старомодно (хотя у него приятный стартовый экран).
  • шрифты в редакторе очень мелкие
  • некоторые значки (например,значки, связанные с запуском / пошаговым выполнением отладчика), очень маленькие
  • нет интеграции с системой управления версиями

CodeLite 2.x (примечание:это мое личное любимое блюдо)

Плюсы:

  • самый лучший, современно выглядящий и интуитивно понятный графический интерфейс, который я когда-либо видел в Linux
  • легкий вес
  • разумно быстро
  • интегрирует SVN
  • также доступно на других версиях ОС (Windows, macOS, Solaris (?))

Минусы:

  • нет интеграции CVS (это важно для меня, потому что я должен использовать это на работе).
  • нет поддержки Java, Perl, Python (было бы неплохо иметь)
  1. Код::Блоки
  2. Затмение CDT

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

Быстрый ответ, просто чтобы добавить немного больше знаний к этой теме:
Вы обязательно должны проверить NetBeans - сетевые приложения.Netbeans 6.7 обладает следующими функциями:

  • Проекты и шаблоны на C /C ++:Поддерживает подсветку синтаксиса, автоматическое завершение кода, автоматический отступ.
  • У него есть отладчик C / C ++
  • Поддерживает настройки компилятора, Configuration Manager и поддержку Makefile (с помощью Мастера).
  • В нем есть окно классов, окно использования и окно навигации по файлам (или панель).
  • A Представление расширения макроса, а также всплывающие подсказки.
  • Поддержка для Разработка QT.

Я думаю, что это идеальная (и намного лучшая) замена Visual Studio и очень хороший инструмент для изучения C / C ++.

Удачи вам!

По крайней мере, для конкретных проектов Qt Создатель Qt (от Nokia / Trolltech / Digia) подает большие надежды.

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

Моим первым источником на самом деле были инструменты ' man страницы.Просто введите

$ man toolname

в командной строке ($ вот часть приглашения, а не входные данные).

В зависимости от платформы, они довольно хорошо написаны, а также их можно найти в Интернете.В случае make, я действительно прочитал полный текст Документация на это ушло несколько часов.На самом деле, я не думаю, что это необходимо или полезно в большинстве случаев, но у меня было несколько особых требований в моих первых заданиях под Linux, которые требовали сложного makefile.После написания makefile я передал его опытному коллеге, который внес некоторые незначительные правки.После этого я почти все понял make.

Я использовал GVIM, потому что у меня был некоторый (но не очень большой) предыдущий опыт работы там, я вообще ничего не могу сказать о Emacs или альтернативах.Я нахожу, что это действительно помогает читать других людей ' .gvimrc конфигурационный файл.Многие люди выкладывают это в Интернет.Вот мой.

Не пытайтесь освоить все binutils сразу, там слишком много функций.Но получите общий обзор, чтобы вы знали, где искать, когда вам что-то понадобится в будущем.Ты следует, однако, знайте все важные параметры для g++ и ld (инструмент компоновщика GCC, который вызывается автоматически, за исключением случаев, когда это явно запрещено).

Также мне любопытно, есть ли у вас завершение кода и подсветка синтаксиса при написании кода?

Подсветка синтаксиса:да, и гораздо лучший, чем Visual Studio.Завершение кода:ДА-иш.Во-первых, я должен признать, что я не использовал завершение кода на C ++ даже в Visual Studio, потому что (по сравнению с VB и C #) это было недостаточно хорошо.Сейчас я не часто им пользуюсь, но, тем не менее, GVIM имеет поддержка завершения машинного кода для C ++.В сочетании с ctags ( теги ) библиотека и подключаемый модуль, подобный список тегов это почти IDE.

На самом деле, то, что заставило меня начать, было Статья автор: Армин Ронахер.Прежде чем читать текст, посмотрите на скриншоты в конце его!

нужно ли сначала компилировать, прежде чем получать (синтаксические) ошибки?

ДА.Но это же самое и для Visual Studio, не так ли (я никогда не использовал Whole Tomato)?Конечно, подсветка синтаксиса покажет вам несовпадающие скобки, но это, пожалуй, все.

и как вы отлаживаете (опять же, подумайте о точках останова и т.д.)?

Я использую gdb который является инструментом командной строки.Существует также графический интерфейс под названием DDD. gdb это современный инструмент отладки, который может делать все, что вы можете сделать в IDE.Единственное, что меня действительно раздражает, - это чтение трассировки стека, потому что строки не имеют отступов и не отформатированы, поэтому очень сложно сканировать информацию, когда вы используете много шаблонов (что я и делаю).Но они также загромождают трассировку стека в IDES.

Как я уже сказал, я имел "удовольствие" сделать свои первые шаги по языку программирования Java с помощью Windows notepad и Java-компилятора командной строки в старших классах школы, и это было, ..это был настоящий кошмар!конечно, когда я мог сравнить это с другими курсами программирования, которые у меня были в то время, где у нас были приличные IDE

Вам даже не стоит пытаться сравнивать современный полнофункциональный редактор, такой как Emacs или GVIM, с Notepad.Блокнот - это украшенный TextBox контролируйте, и это действительно имеет решающее значение.Кроме того, работа в командной строке сильно отличается в Linux и Windows.Окна cmd.exe сильно искалечен.PowerShell намного лучше.

/РЕДАКТИРОВАТЬ:Я должен прямо упомянуть, что В GVIM есть вкладка редактирование (как при просмотре с вкладками, а не с табуляциями против пробелов)!Мне потребовалась целая вечность, чтобы найти их, хотя они вовсе не спрятаны.Просто введите :tabe вместо простого :e при открытии файла или создании нового GVIM создаст новую вкладку.Переключение между вкладками может осуществляться с помощью курсора или нескольких различных сочетаний клавиш (в зависимости от платформы).Ключ к разгадке gt (тип g, тогда t в командном режиме) должен работать везде и переходит на следующую вкладку или tab no. n если был задан номер.Тип :help gt чтобы получить дополнительную помощь.

Не хочу повторять ответ, но я думаю, что могу добавить еще немного.

Исправлено это отличная среда разработки.

Он хорошо поддерживает большие базы кода, не замедляя работу и не тратя все свое время на индексацию.(Это проблема, с которой я столкнулся с cdt от eclipse).Скорость Slickedit, пожалуй, самое приятное в нем, на самом деле.
Завершение кода работает хорошо, и существует большое количество опций для таких вещей, как автоматическое форматирование, улучшение и рефакторинг.
В нем действительно есть встроенная отладка.
У него есть поддержка плагинов и довольно активное сообщество, создающее их.
Теоретически, вы должны быть в состоянии хорошо интегрироваться с людьми, использующими традиционные файлы makefile, поскольку это позволяет вам создавать проект непосредственно из одного, но это работало не так гладко, как мне хотелось бы, когда я попробовал это.
В дополнение к Linux, существуют его версии для Mac и Windows, если они вам понадобятся.

Как старый знакомый с UNIX, я всегда использую Emacs.Но это довольно крутая и долгая кривая обучения, поэтому я не уверен, что могу рекомендовать ее новичкам.

На самом деле не существует "хорошей" IDE для Linux.Eclipse не очень хорош для C / C ++ (CDT улучшается, но пока не очень полезен).В остальных отсутствуют все функции, которые вы собираетесь искать.

Действительно важно узнать, как работают все отдельные инструменты (gcc, make, gdb и т.д.).После того, как вы сделаете это, вы можете обнаружить, что способ выполнения задач в Visual Studio сильно ограничивает вас.

Проверьте Netbeans, он написан на Java, так что у вас будет одинаковая среда независимо от вашей операционной системы, и он поддерживает намного больше, чем просто C ++.

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

Просто краткое пояснение к этому вопросу...

Прошел месяц с тех пор, как я начал использовать Vim в качестве своего основного "графического интерфейса" инструмент для программирования на C ++ в Linux.Сначала кривая обучения действительно была немного крутой, но через некоторое время и с включенными правильными опциями и запущенные скрипты Я действительно освоился с этим!

Мне нравится, как вы можете формировать Vim в соответствии с вашими потребностями;просто добавьте / измените сопоставления ключей и Vim превращается в высокопроизводительную "IDE".

Набор инструментов для сборки и компилирования программы на C ++ в Linux также действительно интуитивно понятен.make и g ++ - это тот самый инструменты, которые вы будете использовать.

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

Так что всем, кто есть или искал хорошую среду разработки C ++ в Linux, как и я, ваш лучший выбор связан со стандартом доступные инструменты в самом Linux (Vim, g ++, ddd), и вам действительно следует хотя бы попытаться их использовать, прежде чем искать или что-то еще...

И последнее, но не менее важное: я действительно хочу поблагодарить konrad за его ответ здесь, Это действительно помогло мне найти свой путь в Среде разработки Linux, спасибо!

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

Я рекомендую вам прочитать Искусство разработки UNIX.Это настроит вас на использование среды в качестве IDE.

Более короткий ответ таков:выберите любой "редактор", который вам нравится, затем используйте GDB console или простой интерфейс GDB для отладки вашего приложения.Отладчики поставляются с модными IDE, такими как Netbeans sucks для C / C ++.Я использую Netbeans в качестве редактора, а Insight и GDB console - в качестве отладчика.

С insight у вас есть приятный графический интерфейс и необузданная мощь GDB.

Как только вы привыкнете к командам GDB, вам это начнет нравиться, поскольку вы можете делать то, что никогда не сможете сделать с помощью графического интерфейса.Вы можете использовать даже использовать Питон в качестве языка вашего скрипта, если вы используете GDB 7 или более новую версию.

Большинство людей здесь уделяли больше внимания "Редакторам" IDE.Однако, если вы разрабатываете большой проект на C / C ++, вы легко можете потратить более 70% своего времени на "отладчики".Отладчики модных IDE отстают от Visual Studio как минимум на 10 лет.Например, Netbenas имеет очень похожие интерфейсы с Visual Studio.Но его отладчик имеет ряд недостатков по сравнению с Visual Studio.

  1. Очень медленно отображается даже массив, содержащий всего несколько сотен элементов
  2. Измененное значение не выделяется (по умолчанию Visual Studio отображает измененные значения в окнах просмотра красным цветом).
  3. Очень ограниченная способность демонстрировать память.
  4. Вы не можете изменить исходный код, а затем продолжить выполнение.Если устранение ошибки занимает много времени, вы хотели бы изменить источник, применить изменения в реальном времени и продолжить запуск вашего приложения.
  5. Вы не можете изменить "следующий оператор" на run.В Visual Studio вы можете использовать "Set Next Statement", чтобы изменить способ запуска вашего приложения.Хотя эта функция может привести к сбою вашего приложения, если ее не использовать должным образом, но она сэкономит вам много времени.Например, если вы обнаружили, что состояние вашего приложения неправильное, но вы не знаете, что вызвало проблемы, вы можете захотеть повторно запустить определенную область ваших исходных кодов без перезапуска вашего приложения.
  6. Отсутствует встроенная поддержка STL, таких как vector, list, deque, map и т.д.
  7. Никаких наблюдательных пунктов.Вам нужна эта функция, когда вам нужно остановить ваше приложение прямо в момент изменения переменной.Компьютеры на базе Intel имеют аппаратные контрольные точки, так что контрольные точки не будут замедлять работу вашей системы.Поиск некоторых труднодоступных ошибок без использования точек наблюдения может занять много часов."Visual Studio" вызывает "указатель наблюдения" как "Точку останова данных".

Список может быть намного длиннее.

Я был настолько разочарован недостатками Netbeans или других подобных IDE, что начал изучать саму GDB.Я обнаружил, что GDB сам по себе очень мощный.GDB не обладает всеми "недостатками", упомянутыми выше.На самом деле, GDB очень мощная программа, она даже лучше Visual Studio во многих отношениях.Здесь я просто покажу вам очень простой пример.

Например, у вас есть массив, подобный:

struct IdAndValue
{
  int ID;
  int value;
};


IdAndValue IdAndValues[1000];

Когда ваше приложение останавливается, и вы хотите просмотреть данные в IdAndValues.Например, если вы хотите найти ординалы и значения в массиве для определенного "ID", вы можете создать сценарий, подобный следующему:

define PrintVal 
set $i=0
printf "ID = %d\n", $arg0
while $i<1000
  if IdAndValues[$i].ID == $arg0
    printf "ordinal = %d, value = %d\n", $i, IdAndValues[$i].vaue
    set $i++
  end
end
end

Вы можете использовать все переменные в вашем приложении в текущем контексте, ваши собственные переменные (в нашем примере это $i), переданные аргументы (в нашем примере это $arg0) и все команды GDB (встроенные или определяемые пользователем).

Использование Печать 1 из GDB запрашивается вывод значений для идентификатора "1"

Кстати, NetBeans поставляется с консолью GDB, но при использовании консоли вы можете привести к сбою Netbeans.И я полагаю, именно поэтому консоль по умолчанию скрыта в NetBeans

Если вам нравится Eclipse для Java, я предлагаю Eclipse CDT.Несмотря на то, что поддержка C / C ++ не такая мощная, как для Java, она по-прежнему предлагает большинство функций.В нем есть приятная функция под названием Managed Project, которая упрощает работу с проектами на C / C ++, если у вас нет опыта работы с Makefile.Но вы все равно можете использовать Makefile-файлы.Я занимаюсь программированием на C и Java, и я действительно доволен CDT.Я разрабатываю прошивку для встроенного устройства на C и приложение на Java, которое взаимодействует с этим устройством, и действительно приятно использовать одну и ту же среду для обоих.Я думаю, это, вероятно, делает меня более продуктивным.

Я использую "Джини" пока нашел хорошую, быструю и легкую IDE.

К числу особенностей Geany относятся:

  • Сворачивание кода
  • Сохранение сеанса
  • Основные функции IDE, такие как подсветка синтаксиса, табуляции, автоматический ввод отступов и завершение кода
  • Простое управление проектом
  • Система сборки
  • Средство выбора цвета (удивительно удобное при веб-разработке)
  • Эмуляция встроенного терминала
  • Советы по звонкам
  • Списки символов
  • Автоматическое завершение общих конструкций (таких как if, else, while и т.д.)

Мне нравится, как люди полностью упускают запрос в исходном вопросе для IDE.Linux - это НЕ IDE.Это просто не то, что означают эти слова.Я изучал c и c ++, используя vi, gcc и make, и я не говорю, что это неадекватные инструменты, но они НЕ являются IDE.Даже если вы используете более сложные инструменты, такие как vim, emacs или любой другой навороченный редактор, который вам нужен, ввод команд в командной строке - это не IDE.

Кроме того, вы все знаете, что make существует как часть Visual Studio, верно?Идея о том, что IDE "ограничивает", просто глупа, если вы можете использовать IDE для ускорения некоторых действий, но при этом все еще можете прибегать к командной строке, когда это необходимо.

Учитывая все вышесказанное, я бы предложил, как и некоторые другие, попробовать блоки кода.У него приличная подсветка кода, довольно простой способ создать проект, закодировать его, запустить и т.д., Который является ядром реальной IDE и кажется довольно стабильным.Отладка - отстой...Я никогда не видел приличного интерактивного отладчика ни в одном варианте Linux / unix.gdb - это не то.Если вы привыкли к отладке в стиле Visual Studio, вам в значительной степени не повезло.

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

make + vim + gdb = одна отличная среда разработки

Мне очень нравится Окончательный ++это IDE.В нем есть некоторые функции, которые были разработаны для использования с их собственной библиотекой (которая, кстати, является довольно приятным инструментарием, если вы не хотите покупать ни на GTK +, ни на QT), но она отлично работает с общими проектами на C ++.Он обеспечивает достойное завершение кода, хорошую раскраску синтаксиса, интегрированную отладку и все другие функции, поддерживаемые большинством современных IDE.

Я действительно предлагаю кодовые блоки.Он не такой тяжелый, как Eclipse, и у него есть поддержка проекта Visual Studio.

Возможно, тот Проект Linux Tools Project может ли Eclipse удовлетворить ваши потребности?

Проект Linux Tools направлен на то, чтобы предоставить разработчикам Linux полнофункциональную среду разработки C и C ++ IDE.Мы опираемся на функции редактирования и отладки исходного кода CDT и интегрируем популярные собственные инструменты разработки, такие как GNU Autotools, Valgrind, OProfile, RPM, SystemTap, GCov, GProf, LTTng и др.Текущие проекты включают в себя средства просмотра и анализаторы трассировки LTTng, редактор RPM .spec, интеграцию сборки Autotools, инструмент анализа использования кучи Valgrind и инструменты профилирования вызовов OProfile.

В Linux существует множество IDE:

В мой опыт, наиболее ценными из которых являются Затмение и Создатель Qt.Оба предоставляют все "стандартные" функции (например, автозаполнение, выделение синтаксиса, отладчик, интеграция с git).Стоит отметить, что Eclipse также предоставляет функции рефакторинга, в то время как Qt Creator обеспечивает интеграцию с Valgrind и поддержку развертывания на удаленных объектах.

Также рекламный ролик Среда разработки CLion кажется очень хорошим (но я не использовал его широко).

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

Sun Studio версии 12 доступна для бесплатной загрузки (доступна БЕСПЛАТНАЯ и платная поддержка). -- http://developers.sun.com/sunstudio/downloads/thankyou.jsp?submit=%A0FREE+Download%A0%BB%A0.

Я уверен, что у вас есть поддержка завершения кода и отладки, включая поддержку плагинов в этой IDE.

Sun Studio доступна как для Linux, так и для Solaris.Форумы : http://developers.sun.com/sunstudio/community/forums/index.jsp.Форумы Sun Studio Linux : http://forum.sun.com/forum.jspa?forumID=855

Мне будет не терпится услышать ваши отзывы об этом инструменте.

БР,

Ранее я использовал IDE Ultimate ++, и она довольно хороша.

А потом я заметил, что это просто не то, как вы там работаете *, и я выбросил все, потратил несколько дней на чтение руководств, настроил свою оболочку (bash), настроил среду GVIM, изучил набор инструментов GCC / binutils, make и gdb и жил долго и счастливо с тех пор.

В целом я бы согласился, но проблема также заключается в восприятии:мы забываем, как трудно было стать продуктивным в любой выбранной IDE (или другой среде).Я нахожу IDE (Visual Studio, NetBeans, Eclipse) удивительно громоздкими во многих отношениях.

Как старый знакомый с UNIX, я всегда использую Emacs.Но это очень непросто и длинный кривой обучения, так что я не уверен, что я могу смело рекомендовать его новичкам.

Я бы поддержал это;использую Emacs в качестве основного редактора как в Linux, так и в MSW (XP2, W2K).Я бы не согласился с тем, что в нем есть крутой кривой обучения, но я бы сказал, что из-за огромного количества функций он обладает длинный кривая обучения.Вы можете стать продуктивным за короткое время, но при желании сможете осваивать новые возможности ИТ на долгие годы.

Однако - не ожидайте, что все функции Emacs будут доступны в выпадающих меню, там слишком много функциональности, чтобы найти ее там.

Как я уже упоминал, я использовал GNU Emacs для MSW в течение многих лет.И это всегда хорошо работало с Visual Studio, пока я не "обновился" до 2008 года;теперь это иногда задержка на много секунд перед обновлением файлов с диска.Основной причиной редактирования в окне VS является функция завершения кода "Intellisense".

джини Я рекомендую

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

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

Я использую Eclipse CDT и Qt Creator (для приложений Qt).

Это мои предпочтения.Это очень наводящий на размышления вопрос, и ответов на него столько же, сколько и разработчиков.:)

Исправлено.Я использую и люблю SlickEdit с 2005 года, как в Windows, так и в Linux.У меня также есть опыт работы в Visual Studio (5, 6, 2003, 2005) и просто с Emacs и командной строкой.Я использую SlickEdit с внешними makefile-файлами, некоторые из моих товарищей по команде используют SlickEdit, другие используют Emacs / vi.Я не использую интегрированный отладчик, интегрированный контроль версий, интегрированную систему сборки:Обычно я нахожу, что слишком большая интеграция причиняет настоящую боль.SlickEdit надежен (очень мало ошибок), быстр и интуитивно понятен.Это как немецкая машина, машина водителя.

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

Для меня Окончательный ++ кажется, это лучшее решение для написания кросс-операционной программы

Если вы использовали vim в течение длительного времени, то вам действительно следует сделать это в качестве своей IDE.Доступно множество дополнений.Я нашел несколько из них довольно полезными и скомпилировал их здесь, взгляните на них.

И многое другое из серии vi / vim tips & tricks вон там.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top