С++ IDE для Linux?

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

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

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

Мой вопрос:

Что хорошего, С++ программирование IDE доступно для Linux?

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

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

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

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

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

Ответ 1

Первоначально: путаница

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

Крещение: UNIX - это IDE. Все это. 1

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

  • Сначала вы настроили свою оболочку
    • Bash, в моем случае, но многие предпочитают
    • fish или
    • (Oh My) Zsh;
  • и ваш редактор; выберите свой яд - оба уровня:

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

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

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

Каждому из своих

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

  • Для разработки Python theres PyCharm
  • Для R, theres RStudio
  • Для JavaScript и TypeScript, theres Код Visual Studio (который также является хорошим универсальным редактором)
  • И, наконец, многие люди любят Sublime Text editor для общего редактирования кода.

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


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

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

Ответ 2

Моим личным фаворитом является IDE CodeLite 2.x.

см.: http://www.codelite.org

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

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

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

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

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

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

Плюсы:

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

Минусы:

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

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

Плюсы:

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

Минусы:

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

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

Плюсы:

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

Минусы:

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

CodeBlocks 8.02 (примечание: я не много тестировал на нем)

Плюсы:

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

Минусы:

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

CodeLite 2.x (обратите внимание: это мой личный фаворит)

Плюсы:

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

Минусы:

  • нет интеграции CVS (что важно для меня, потому что я должен использовать его на работе)
  • нет поддержки Java, Perl, Python (было бы неплохо иметь)

Ответ 3

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

Ответ 4

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

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

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

Удачи!

Ответ 5

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

Ответ 6

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

Мой первый источник - это страницы инструментов man. Просто введите

$ man toolname

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

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

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

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

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

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

На самом деле, меня запустил article от Armin Ronacher. Прежде чем читать текст, посмотрите на скриншоты в конце его!

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

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

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

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

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

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

/EDIT: я должен явно указать, что GVIM имеет редактирование с вкладками (как при просмотре с вкладками, а не в tabs-vs-spaces)! Мне потребовались годы, чтобы найти их, хотя они вообще не скрыты. Просто введите :tabe вместо обычного :e при открытии файла или создании нового, а GVIM создаст новую вкладку. Переключение между вкладками может быть выполнено с помощью курсора или нескольких ярлыков (в зависимости от платформы). Ключ gt (тип g, затем t в командном режиме) должен работать повсюду и переходить на следующую вкладку или вкладку no. n, если было задано число. Введите :help gt, чтобы получить дополнительную помощь.

Ответ 7

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

Slickedit - отличная среда разработки.

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

Ответ 8

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

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

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

Ответ 9

Check NetBeans, написанный на Java, поэтому у вас будет одна и та же среда, независимо от вашей ОС, и она поддерживает намного больше, чем просто С++.

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

Ответ 10

Просто быстро последуйте за этим вопросом...

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

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

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

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

Итак, кому угодно, или искал хорошую С++ IDE в Linux, как и я, ваша лучшая ставка лежит на стандартном доступные инструменты в самой Linux (Vim, g++, ddd), и вы должны по крайней мере попытаться использовать их, прежде чем искать чужое другое...

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

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

Ответ 11

Я рекомендую вам прочитать The Art of UNIX Progranmming. Это создаст ваш разум для использования среды в качестве вашей среды разработки.

Ответ 12

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

С проницательностью у вас есть хороший графический интерфейс и необработанная мощность GDB.

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

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

  • Очень медленно отображать даже массив с несколькими сотнями элементов.
  • Отсутствие подсветки для измененного значения (по умолчанию визуальная студия показывает измененные значения в окнах просмотра в красном цвете)
  • Очень ограниченная способность отображать память.
  • Вы не можете изменить исходный код, а затем продолжить его выполнение. Если ошибка удалась, вы хотите изменить источник и применить изменения вживую и продолжить выполнение своего приложения.
  • Вы не можете изменить "следующий оператор" для запуска. В Visual Studio вы можете использовать "Установить следующее выражение", чтобы изменить, как работает ваше приложение. Хотя эта функция может привести к краху вашего приложения, если оно не используется должным образом, но это сэкономит вам много времени. Например, если вы обнаружили, что состояние вашего приложения неверно, но вы не знаете, что вызвало проблемы, вы можете повторно запустить определенную область исходных кодов без перезапуска приложения.
  • Нет встроенной поддержки STL, такой как вектор, список, deque и карта и т.д.
  • Нет точек наблюдения. Вам необходимо иметь эту функцию, когда вам нужно остановить приложение прямо в точке, в которой изменяется переменная. На компьютерах на базе Intel есть аппаратные часы, чтобы часы не замедляли вашу систему. Может потребоваться много часов, чтобы найти некоторые труднодоступные ошибки, не используя часы. "Visual Studio" вызывает "сторожевой указатель" как "Data BreakPoint".

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

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

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

struct IdAndValue
{
  int ID;
  int value;
};


IdAndValue IdAndValues[1000];

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

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 (встроенные или пользователь).

Используйте PrintVal 1 из приглашения GDB, чтобы распечатать значения для идентификатора "1"

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

Ответ 13

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

Ответ 14

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

Среди особенностей Geanys::

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

Ответ 15

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

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

Все, что сказал, я бы предложил, как и несколько выше, попробовать блоки кода. Его получилось достойное выделение кода, довольно легкий способ создать проект, закодировать его, запустить и т.д., Который является ядром реальной среды разработки и выглядит довольно стабильным. Отладка отстой... Я никогда не видел достойного интерактивного отладчика в любом варианте linux/unix. gdb не так ли? Если вы привыкли визуально отлаживать стиль студии, вам в значительной степени не повезло.

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

Ответ 16

make + vim + gdb = одна большая IDE

Ответ 17

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

Ответ 18

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

Ответ 19

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

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

Ответ 20

В Linux есть много IDE:

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

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

Ответ 21

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

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

Ответ 22

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

Ответ 23

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

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

BR,
~ А

Ответ 24

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

Ответ 25

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

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

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

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

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

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

Ответ 26

geany Я рекомендую

Ответ 27

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

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

Ответ 28

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

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

Ответ 29

Для меня Ultimate ++ кажется лучшим решением для написания программы cross-os

Ответ 30

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

И многое другое в советах и ​​трюках vi/vim.