Я хочу расширить свои горизонты программирования до Linux. Хороший, надежный базовый набор инструментов важен, а что может быть проще, чем IDE?
Я мог найти эти ТАК темы:
Я не ищу IDE легкий. Если IDE стоит своих денег, я заплачу за нее, поэтому она не обязательно должна быть бесплатной.
Тогда мой вопрос:
What good, C++ programming IDE is available for Linux?
Минимумы довольно стандартные: выделение синтаксиса, завершение кода (например, intellisense или его аналог в Eclipse) и интегрированная отладка (например, базовая контрольные точки).
Я сам искал его, но их так много, что почти невозможно вручную отделить хорошее от плохого, особенно для кого-то вроде меня, у которого мало опыта программирования на C++ в Linux. Я знаю, что Eclipse поддерживает C++, и мне очень нравится эта IDE для Java, но хороша ли она для C++ и есть ли что-нибудь получше?
Во втором посте на самом деле есть несколько хороших предложений, но чего мне не хватает, так это того, что именно делает предлагаемую IDE такой хорошей для пользователя, каковы ее (отрицательные) преимущества?
Может быть, мой вопрос должен быть таким:
What IDE do you propose (given your experiences), and why?
Может быть, вам стоит посмотреть на дату, когда был задан этот вопрос ... или указать здесь новые вопросы
В последнем выпуске Eclipse интегрировал eclipse.org/linuxtools в свою серию выпусков - этот проект направлен на то, чтобы сделать Eclipse более полноценной IDE C / C++ в Linux путем интеграции инструментов, специфичных для Linux.





Checkout Netbeans, он написан на Java, поэтому у вас будет одна и та же среда независимо от вашей ОС, и он поддерживает гораздо больше, чем просто C++.
Я не собираюсь убеждать вас, потому что я думаю, что IDE могут быть очень личным выбором. На мой взгляд, это повышает мою продуктивность, поскольку работает быстро, поддерживает языки, на которых я пишу код, и имеет стандартные функции, которые вы ожидаете от IDE.
Я просто могу добавить к этому свой +1. netbeans имеет лучший синтаксический анализатор языка C++, который я видел в ide; превосходит компакт-диск eclipse.
Изначально при написании этого ответа я недавно переключился с Visual Studio (с многолетним опытом) на Linux, и первое, что я сделал, - это попытался найти разумную среду IDE. В то время это было невозможно: не существовало хорошей IDE.
А потом я понял, что IDE в Linux - это командная строка со своими инструментами:
В зависимости от ваших потребностей вам затем придется установить и настроить несколько плагинов, чтобы редактор работал нормально (это одна раздражающая часть). Например, большинство программистов на Vim получат выгоду от плагина Ты дополняешь меня для интеллектуального автозаполнения.
Как только это будет сделано, оболочка станет вашим командным интерфейсом для взаимодействия с различными инструментами - отладчиками (gdb), профилировщиками (gprof, valgrind) и т. д. Вы настраиваете среду своего проекта / сборки, используя Делать, CMake, SnakeMake или любой из различных альтернативы. И вы управляете своим кодом с помощью системы контроля версий (большинство людей используют Git). Вы также используете tmux (ранее также экран) для мультиплексирования (= думайте о нескольких окнах / вкладках / панелях) и сохранении сеанса терминала.
Дело в том, что благодаря оболочке и нескольким соглашениям о написании инструментов все эти интегрироваться друг с другом. Таким образом, оболочка Linux - это действительно интегрированная среда разработки полностью соответствует другим современным IDE. (Это не означает, что отдельные IDE не имеют функций, которые может отсутствовать в командной строке, но верно и обратное.)
Я не могу переоценить, насколько хорошо описанный выше рабочий процесс работает после того, как вы привыкнете. Но некоторые люди просто предпочитают графические редакторы, и за годы, прошедшие с момента написания этого ответа, в Linux появился набор отличных графических IDE для нескольких разных языков программирования (но не для C++, насколько мне известно). Попробуйте, даже если - как я - вы их не используете. Вот лишь небольшой и необъективный выбор:
Имейте в виду, что этот список далеко не полный.
1 Я украл это название из комментария dsm.
2 Здесь я имел в виду Vim. И хотя простой Vim по-прежнему более чем способен, Neovim - многообещающий перезапуск, который модернизировал несколько старых бородавок.
Точно то же самое случилось со мной 3 года назад.
я категорически не согласен. достойный иде важен независимо от того, над чем вы работаете. это резко увеличивает производительность. Я использую кодовые блоки и считаю, что вернуться к VI практически невозможно. Я писал код на Mac, Win и Linux, и хотя я считаю, что Visual Studio - лучшая среда разработки, кодовые блоки мне очень близки.
Дэвид, возможно, вы могли бы подробно описать (собственный ответ…), что именно вам не хватает в описанной мною цепочке инструментов, которую предоставляет IDE. Как я уже сказал, у меня большой опыт работы с IDE, и мой рост производительности был прямо противоположен вашему.
Проблема в Linux всегда. Играйте сами, и отношение к коммерческим программам просто ужасное ....
Я согласен и не согласен с вами. Изучение основных инструментов, несомненно, важно, но как только вы поймете, что происходит на самом деле, хорошая IDE может сделать жизнь намного проще и продуктивнее. Я думаю, что главное - получить среду IDE, которая пытается предоставить интерфейс для перечисленных ниже инструментов, не пытаясь скрыть детали. Я думаю, что эта проблема часто сбивает с толку людей, пришедших из MSVS, где редактор, компилятор, отладчик и т. д. Представляются пользователю как единый монолитный инструмент.
Какую поддержку рефакторинга предлагает Vim? В Eclipse (который работает под Linux) я могу изменить имя любого метода Java, который захочу, даже если он вызывается в 300 местах. Сможете ли вы сделать это легко в Vim?
Quant_dev: для рефакторинга необходимо каким-то образом проанализировать исходный код. Насколько мне известно, никакие модули VIM этого не делают, поэтому ответ на ваш вопрос - «нет». Это одна из причин предпочесть IDE для языков, ориентированных на IDE, таких как Java. Поскольку поддержка рефакторинга (и т. д.) Для C++ в любом случае настолько минимальна (даже в IDE), это не относится к C++.
«Это одна из причин, по которой следует предпочесть IDE для языков, ориентированных на IDE, таких как Java.» Скорее, для языков с контекстно-свободной грамматикой и без препроцессора :) Вы понимаете, но даже C++ может использовать какую-то поддержку рефакторинга. MS Visual C++ по крайней мере может вести меня от объявления к определению и обеспечивает завершение кода. Можно мне это в Vim?
Quant_dev: очень верно. Относительно поиска объявлений: да, Vim поддерживает это с помощью ряда расширений с помощью обильных тегов ctags. Об автозаполнении: да, он поддерживается, но я никогда его не использовал (но ни в Visual Studio), поэтому не знаю, можно ли его использовать.
Quant_dev: Завершение синтаксиса C++: vim.org/scripts/script.php?script_id=527
Конрад Рудольф: Пожалуйста, не комментируйте вещи, которыми вы никогда не пользовались. В описании сценария прямо сказано «игнорирование текущей области».
@wbkang: На что именно вы жалуетесь? Если бы вы читали мой вопрос по этому поводу (stackoverflow.com/questions/1115876/autocompletion-in-vim), вы бы знали, что я нет удовлетворен CppComplete (и, что я его использовал). Но для некоторых это работает достаточно хорошо, так что стоит опубликовать здесь, не так ли?
начните с vi и переходите к затмению, когда понимаете, что происходит за кулисами.
Слишком легкие изменения побуждают вносить больше изменений.
@quant_dev: Поддержка рефакторинга в Linux исходит от вашего мозга, я думаю, он может работать лучше, чем что-либо автоматизированное?
Мой мозг слишком хорош, чтобы тратить его на такие тривиальные вещи.
@quant, вы можете найти и заменить свою java-функцию (в файле), используя: 1, $ s / function_name / replace_name / g. Если это не мощно, то "power" необходимо переопределить
@rocknroll: простая замена текста в файле / проекте игнорирует объем, тип и то, является ли что-то комментарием. Если я изменю имя функции, я хочу изменить только те места, которые фактически вызывают функцию, а не те места, которые имеют тот же текст, что и имя функции, включая комментарии, переменные, другие функции в другой области и т. д.
@Bill, @quant_dev: Рефакторинг редко связан с «переименованием переменных», это скорее сознательные усилия по реорганизации кода, и никакая IDE никогда не может с этим помочь, нельзя избежать использования своего мозга. Сказав это, java-люди в любом случае не склонны быть виммерами ..
@hasen j - написание программ также сильно требует "мозгов", но никто не отвергает компиляторы и не просит разработчиков писать машинный код вручную. рефакторинг требует использования вашего мозга, чтобы решить, какую часть кода нужно реорганизовать и как; однако это не препятствует использованию надлежащих инструментов, чтобы гарантировать, что все соответствующие изменения внесены в любую часть исходного кода, на которую может повлиять рефакторинг кода.
Франси Пенов: Вы не поняли мой аргумент: рефакторинг нельзя автоматизировать, по той же причине, по которой нельзя автоматизировать программирование.
@hasen: ох, но большая его часть может. Например, переименование с учетом области действия. И поверьте, это большой. И Ecplise (например) может сэкономить здесь много работы.
Если вы хотите работать на платформе, вам нужно понимать, как работать на этой платформе. Для Unix / Linux все его мощные функции можно найти в терминале. Если вы привыкнете к этим инструментам, вы никогда не вернетесь в IDE.
только один вопрос: нажимаете ли вы F5, чтобы проверить последнее изменение, или нажимаете Alt + F2, затем набираете gcc /.../myproject/program.cpp -DHAVE_CONFIG_H -L / ... libs -lsomelib && ld ...? Основная причина, по которой мне нужна IDE, заключается в следующем: когда я понимаю, что сделал ошибку, написав x [0] вместо x [i], я просто прекращаю отладку, редактирую эту строку и снова нажимаю F5 / F9 / F6, чтобы проверить это изменение.
но я во всем согласен - я тоже недавно перешел с Visual Studio на Eclipse CDT и узнал об использовании gcc, Makefile, ld, binutils и т. д. просто потому, что я хотеть, чтобы знать, как его использовать.
@Luke Edit-continue отладка никогда не работала для C++ даже в среде IDE. Я не знаю, действительно ли текущая версия Visual Studio поддерживает его во всех случаях. Ни Xcode, ни Eclipse этого не делают.
@Konrad Мои два цента - если вы хотите иметь дело с переименованием в области видимости в Vim, тривиально выбрать строки внутри класса или функции и выполнить поиск / замену. (Vim позволяет делать это визуально с помощью 'V'.) Если это что-то вроде имени класса, имеющего глобальную область видимости, вы можете искать и заменять глобально. Это, в сочетании с встроенной поддержкой регулярных выражений для поиска в vi, очень удобно (если вы знаете, что делаете). Мощность такая же; просто вместо щелчка вы вводите несколько символов. На самом деле это просто личные предпочтения. @Luka Вот для чего нужны make-файлы - сохранять, строить, запускать.
@ breakfastmeat317 Нет, это все еще фундаментально отличается от переименования идентификаторов, предлагаемых IDE, и значительно уступает ему. Разница в том, что IDE может находить все имена которые относятся к одному и тому же объекту и переименовывать только те, в масштабах проекта. В Vim нет способа приблизить это поведение. Например, хотя Vim позволяет вам выбирать область действия одного класса, одно и то же имя может относиться к разным сущностям в этом классе (например, скрытие имени с помощью локальных переменных) или его можно использовать в другой части проекта.
Вот один плагин / скрипт vim, рекламирующий рефакторинг для C / C++: vim.org/scripts/script.php?script_id=2087
@Alexander Но этот плагин свободно признает, что нет анализирует код и, следовательно, не выполняет рефакторинга с учетом области видимости. Так что у него есть все упомянутые мною недостатки.
@Konrad Rudolph Вся суть IDE в том, что она упрощает процесс разработки, объединяя все аспекты сборки / отладки и поддержки кода, управления дефектами и контроля версий в одном интегрированном пользовательском интерфейсе. Если бы я хотел узнать, как сделать свою жизнь несчастной, я бы определенно сделал то, что сделал ты. Оказывается, для Linux / Unix не существует достойных IDE. У них либо отсутствует интеграция с системой контроля версий, управление дефектами, либо требуются плагины, установка которых занимает 6 часов, с частичной поддержкой основных потребностей или без нее. Базовая отладка также является слабым местом. Я очень разочарован .. :( :( :(
@bleepzter Я согласен с вашей точкой зрения об IDE. Но это является, что дает вам Unix. Как сказал dsm, Unix - это IDE, все этого. По сравнению с «традиционными» IDE, у нее есть недостаток в том, что ее труднее изучить, но она определенно имеет преимущества, заключающиеся в том, что она более мощный и, более продуктивная после того, как вы выучите основы. Упомянутые вами слабые места всегда зависят от ваших способностей, нет Unix. Отладка работает отлично и чрезвычайно эффективна благодаря возможности использования макросов. Интеграция системы управления версиями лучше всего в Windows.
Да, UNIX - это IDE, но компоненты интегрированы недостаточно хорошо. Готовясь назвать UNIX IDE, я не вижу причин, по которым мы не должны называть Windows также IDE. В конце концов, в нем есть VIM, Powershell (не беспокойтесь, * sh там тоже работает) и множество компиляторов. Извините, что возвращаю вас к реальности, но: UNIX - это ОС, VIM - это редактор с множеством функций. Вы можете найти свой собственный рабочий процесс, используя только эти инструменты. Конечно, вместе с какой-нибудь системой сборки, компилятором и отладчиком. Но в конце концов, в Eclipse все это тесно интегрировано.
Если вы используете максимум Eclipse, вам редко придется использовать * sh, grep и тому подобное. Более того, я хочу увидеть, как вы отлаживаете большую многопоточную программу на C++ с помощью VIM + gdb.
@Philip «Если ты выйдешь из игры« Макс Затмение »» - да, но зачем мне это делать? Оболочка намного лучше. «Компоненты плохо интегрированы» - вы шутите. На сегодняшний день компоненты оболочки являются самой модульной и комбинируемой системой, с которой мне когда-либо приходилось работать. Не идеальный по большому счету, но очень сильно хороший, безусловно, намного более мощный, чем любая IDE.
@KonradRudolph: Итак, вернемся к моему вопросу: как вам нравится находить ошибки в многопоточных программах на C++ с использованием оболочки? Или как вам 3-стороннее слияние с помощью оболочки? Или для некоторых исторических свидетельств: Perl развился из-за недостатков Shell, были созданы странные редакторы, такие как Sam и Acme, потому что * sh + VIM не лучше реальной IDE.
@Philip Конечно, отладка многопоточных программ в gdb - отстой, но это особый недостаток конкретного инструмента. Это чистое совпадение, что другие отладчики могут делать это лучше, это не имеет ничего общего с их интеграцией в IDE. Что касается трехстороннего слияния, что плохого в использовании для этого vim? Или, если хотите, используйте графический инструмент. Никто против этого не возражает. Но зачем для этого нужна фиксированная IDE? Я не могу комментировать этих «странных редакторов», но они на самом деле не подчеркивают ваши аргументы в мою пользу.
@Philip На самом деле, два момента о Сэме: он был разработан 30 лет назад. Как вы знаете, с тех пор оболочка, редакторы и другие инструменты претерпели изменения. Более того, в статье в Википедии говорится, что «Сэм следует классической модульной эстетике Unix», что очень в пользу моей первоначальной точки зрения.
@KonradRudolph Учитывая, что IDE - не лучший способ разработки программного обеспечения в Linux, не могли бы вы упомянуть хороший учебник, охватывающий упомянутую выше базу знаний для разработчика, не имеющего образования в Linux?
@KonradRudolph: Фактически Eclipse CDT использует gdb. (Как, вероятно, любой другой графический интерфейс отладки в Linux.) Благодаря красивому графическому интерфейсу намного проще отслеживать несколько потоков. Но если бы это был только графический интерфейс, можно было бы придерживаться интерфейса отладчика KDE или DDD. Но вот часть IDE: отладчик тесно интегрирован с редактором кода. В Java это зашло так далеко, что вы можете легко редактировать код во время работы вашей программы. Конечно, оболочка эволюционировала, но все же она слабо интегрирована в X.
Я участвовал в двух отдельных проектах в двух разных компаниях, где через год или около того мы перешли от IDE, чтобы использовать исключительно вручную отредактированные make-файлы, и это было в Windows. Сегодня я все еще не пользуюсь такими IDE, как Eclipse. Основными причинами, по которым мы переключились, была автоматизация сборки «чистой комнаты» из системы управления версиями и, упрощающая массовую настройку параметров компилятора в проектах несколько. Это два очень важных требования, которые можно легко выполнить с помощью сценариев и файлов сборки, редактируемых вручную. По этим причинам я, вероятно, никогда не вернусь к IDE.
@ScrollerBlaster Честно говоря, этот может должен выполняться в современной среде IDE (т.е. VS имеет полноценную автоматизированную систему сборки под названием MSBuild). Но гораздо проще использовать сценарии оболочки.
Я бы хотел увидеть, как вы отлаживаете большой проект, используя только GDB. В VS так много функций, что вы, вероятно, не знаете, какие из них могут невероятно повысить вашу производительность. Я не говорю, что вы не можете достичь того же результата, используя make, gdb, valgrind, vi и т. д., Но это займет гораздо больше времени. Это даже мнение моего друга, который является фанатом Linux, который ежедневно использует Linux.
@ носбор у меня есть. И люди регулярно отлаживают ядро Linux в gdb. Я думаю, вы серьезно недооцениваете мощь GDB. Да, кстати, я широко использовал Visual Studio, и мне она очень нравится для отладки. Я не пытаюсь утверждать, что он не мощный - он, вероятно, по-своему могущественен, как gdb, и определенно более удобен.
рефакторинг? глупые новички lrn2regexp
@quant_dev: «Мой мозг слишком хорош, чтобы тратить его на такие тривиальные вещи» -> Вы знаете, что переименование вещей не является сутью рефакторинга? Суть в том, чтобы иметь тесты, а затем уметь делать причудливые вещи, такие как инверсия зависимостей, замена типов полиморфизмом, удаление среднего человека, все это: refactoring.com/catalog, сколько из этого ваша IDE автоматизирует? Опасность, которую я вижу в рефакторинге IDE, заключается в том, что люди, подобные вам, склонны думать, что рефакторинг - это просто переименование символов и преобразование переменных в параметры; вы ограничиваете себя.
Я полностью согласен со всем этим, только если программист не использует Visual Studio должным образом, иначе он найдет рай в VS ...
Проблема здесь в том, что IDE означает интегрированную среду разработки. Хотя можно назвать GNU / Linux, включая набор инструментов GNU, средой разработки, это не интегрированный в смысле пользовательского интерфейса, как в IDE.
@Archimaredes Почему это должно быть проблемой? Кроме того, на самом деле существует огромная степень интеграции, особенно в том, как был разработан POSIX. Современные IDE все еще пытаются скопировать этот основной принцип.
Для C++ в наши дни kdevelop5 с его clang intellisense - отличный выбор для C++. Также есть eclipse cdt
Вскоре вы обнаружите, что IDE недостаточно, и вам все равно придется изучить инструментальную цепочку GCC (что несложно, по крайней мере, изучить базовую функциональность). Но никакого вреда в уменьшении переходной боли с IDE, IMO.
+1 для кодовых блоков, и да, вы определенно захотите узнать, по крайней мере, как компилировать и запускать свои программы из оболочки, потому что code :: blocks имеет некоторые блимы.
Eclipse совсем не легкий ИМХО, Code :: Blocks ... просто
... Code :: Blocks просто не может проанализировать язык C++
-1 для кодовых блоков. -1 для затмения. Оба они меняют свой пользовательский интерфейс во время отладки. До такой степени, что начинающий пользователь обычно чувствует себя потерянным. Они оба не могут отлаживать вилку. У них обоих есть неприятные проблемы с интеграцией SVN / CVS. (Последняя версия Eclipse в тандеме с Subclipse не работает в Gnome 28 апреля 2011 года и вылетает каждые 10 минут). Настройка системы управления версиями - это кошмар, и интеграция с этими IDE столь же сложна.
@bleepzter -1 для использования SVN / CVS для начала;)
@OneOfOne Какие у вас есть варианты для новичка в Linux? Я серьезно? Я пришел из мышления Enterprise Development, основанного на TFS / Sharepoint (иногда Source Gear Vault). Ну, я не могу запустить это в Linux, не так ли? И SVN, и CVS - отстой. И многие другие тоже.
Mercurial, Git и Bazaar, которые значительно превосходят по всем параметрам.
Я думаю, что дешевле купить коммерческую IDE (типа CLion), потом узнать глюки Eclipse / CDT. Я только что установил последний Eclipse Mars + последний CDT и 50% функций форматирования и выделения кода, которые мне нужны, имеют глюки. Похоже, что в Eclipse вообще нет регрессионного тестирования.
Кодовые блоки не позволяют вам правильно смотреть при отладке: достойная C++ IDE, отладчик, компилятор и codeStaticAnalyser должны при отладке позволять вам смотреть значения переменных, как если бы C++ был JavaScript (что очень круто с JavaScript, и многие динамические языки заключаются в том, что функция 'eval' сама по себе почти отладчик). Отладчик VisualC++ почти делает это, поэтому, на мой взгляд, он является предпочтительной IDE C++, в то время как codeblocks & gcc & gdb - нет. VisualC++ - почти хорошая причина для установки VMWare с Windows на вашем Linux.
could you clarify a little bit more how it was for you, what you had to change. Maybe you could point me in the right direction by providing some links to the information you used.
Моим первым источником были страницы инструментов man. Просто введите
$ man toolname
в командной строке ($ здесь является частью приглашения, а не вводом).
В зависимости от платформы они довольно хорошо написаны, и их также можно найти в Интернете. В случае с make я фактически прочитал документация полностью, что заняло несколько часов. На самом деле, я не думаю, что это необходимо или полезно в большинстве случаев, но у меня было несколько особых требований в моих первых заданиях под Linux, которые требовали сложного make-файла. После написания make-файла я отдал его опытному коллеге, который внес некоторые незначительные изменения и исправления. После этого я довольно хорошо знал make.
Я использовал GVIM, потому что у меня был некоторый (но небольшой) предыдущий опыт работы с ним, я вообще ничего не могу сказать о Emacs или альтернативах. Я считаю, что это действительно помогает читать файлы конфигурации .gvimrc других людей. Многие выкладывают это в сеть. Вот мой.
Не пытайтесь освоить сразу все binutils, слишком много функций. Но получите общий обзор, чтобы знать, где искать, если что-то понадобится в будущем. Однако вы, должен, знаете все важные параметры для g++ и ld (инструмент компоновщика GCC, который запускается автоматически, за исключением случаев, когда это явно запрещено).
Also I'm curious, do you have code completion and syntax highlighting when you code?
Подсветка синтаксиса: да, и намного лучше, чем Visual Studio. Автозавершение кода: да-иш. Во-первых, я должен признать, что я не использовал автозавершение кода C++ даже в Visual Studio, потому что (по сравнению с VB и C#) это было недостаточно хорошо. Сейчас я не использую его часто, но, тем не менее, GVIM имеет поддерживает автозавершение собственного кода для C++. В сочетании с библиотекой ctags и плагином, подобным список тегов, это почти IDE.
На самом деле, то, что заставило меня начать, было статья от Армина Ронахера. Перед чтением текста посмотрите скриншоты в конце!
do you have to compile first before getting (syntax) errors?
Да. Но то же самое и с Visual Studio, не так ли (я никогда не использовал Whole Tomato)? Конечно, подсветка синтаксиса покажет вам несовпадающие скобки, но это все.
and how do you debug (again think breakpoints etc)?
Я использую gdb, инструмент командной строки. Также есть графический интерфейс DDD. gdb - это современный инструмент для отладки, который может делать все, что вы можете делать в среде IDE. Единственное, что меня действительно раздражает, - это чтение трассировки стека, потому что строки не имеют отступов и форматирования, поэтому очень сложно сканировать информацию, когда вы используете много шаблонов (что я и делаю). Но они также загромождают трассировку стека в IDE.
Like I said, I had the 'pleasure' to set my first steps in the Java programming language using windows notepad and the command line java compiler in high school, and it was, .. wel a nightmare! certainly when I could compare it with other programming courses I had back then where we had decent IDE's
Вам даже не следует сравнивать современный полнофункциональный редактор, такой как Emacs или GVIM, с Блокнотом. Блокнот - это приукрашенный элемент управления TextBox, и это действительно имеет значение. Кроме того, работа в командной строке - это совсем другой опыт в Linux и Windows. Windows cmd.exe сильно испорчена. PowerShell намного лучше.
/ Обновлено: я должен прямо упомянуть, что В GVIM есть вкладки для редактирования (как при просмотре с вкладками, а не табуляции против пробелов)! Мне потребовались годы, чтобы найти их, хотя они совсем не спрятаны. Просто введите :tabe вместо обычного :e при открытии файла или создании нового, и GVIM создаст новую вкладку. Переключение между вкладками может осуществляться с помощью курсора или нескольких различных ярлыков (в зависимости от платформы). Ключ gt (введите g, затем t в командном режиме) должен работать везде и переходить на следующую вкладку или вкладку №. п, если был указан номер. Введите :help gt, чтобы получить дополнительную помощь.
@confuzatron: Нет, я использую gdb по нескольким причинам. Самое главное, я обычно работаю без запущенного X-сервера. Кроме того, меня немного смущает тот факт, что DDD не видел никаких обновлений довольно долгое время. С другой стороны, право собственности на проект только что изменилось, и, похоже, в ближайшее время будут внесены изменения.
Спасибо за информацию о вкладке о gvim, никогда не ново :)
VS2010 выделяет синтаксические ошибки без компиляции.
@Candy правда, VS2010 многое изменил в этом плане и добавил расширенные функции для фоновой компиляции. Но за это время gvim также добавил множество функций через плагины. В частности, теперь вы, вероятно, можете получить подсветку синтаксической ошибки без компиляции через плагин clang_complete. Это ответ 2009 года, и некоторые части устарели. Но со всех сторон были улучшения, так что все более или менее выравнивается.
Хотя я использую Vim, некоторые из моих коллег используют SlickEdit, что выглядит неплохо. Я не уверен в интегрированной отладке, потому что мы все равно не сможем сделать это в нашем конкретном проекте.
SlickEdit действительно имеет хорошую поддержку для навигации по большим базам кода с перекрестными ссылками и переходом по тегам. Конечно, в нем есть и такие базовые вещи, как подсветка синтаксиса и автозавершение кода.
Как старый специалист по UNIX, я всегда использую Emacs. Но это довольно крутая и долгая кривая обучения, поэтому я не уверен, что могу рекомендовать ее новичкам.
На самом деле не существует "хорошей" IDE для Linux. Eclipse не очень хорош для C / C++ (CDT улучшается, но пока не очень полезен). У других отсутствуют все функции, которые вы собираетесь искать.
Действительно важно узнать, как работают все отдельные инструменты (gcc, make, gdb и т. д.). После того, как вы это сделаете, вы можете обнаружить, что способ Visual Studio очень ограничивает.
Eclipse CDT "еще не очень полезен?" Было бы полезно уточнить детали. Я считаю это чрезвычайно полезным (и простым в использовании).
«еще не очень полезно»: автозаполнение часто не работает, переход к объявлениям или использованию функций не работает, подсветка синтаксиса не всегда работает, рефакторинг не работает и т. д. Это немногим лучше, чем использование vi. Интерфейс интерфейса GDB - единственное, что делает его вообще стоящим, ИМХО.
Я действительно не пробовал рефакторинг с CDT, но другие вещи, похоже, работают. Замечу, что я запускаю Eclipse с некоторыми довольно большими параметрами конфигурации максимального использования памяти (у меня 8-12 ГБ ОЗУ), но это кажется нормальным.
В прошлый раз, когда я попробовал Eclipse CDT, синтаксический анализатор семантики для автозаполнения заставлял всю среду IDE зависать на 8 секунд каждый раз, когда она вызывалась. Это сделало всю функцию бесполезной. Не могу поверить, что эта штука не работала в собственном потоке. Это было два года назад, так что, надеюсь, теперь это исправлено. (верно?)
Я считаю CDT отличным вариантом для моих набегов на QT и Boost. В Windows с Mingw есть проблемы, но в правильной среде Posix автозаполнение отлично работает! На самом деле переход к объявлениям - это единственная явная дыра. Но учитывая, что C++ может иметь несколько идентичных объявлений, я не удивлен. Эту проблему решить сложнее, чем в Java.
вы не можете создавать настоящие программы (более 10000 строк) с текстовыми редакторами старой школы, отделенными от отладчика и анализатора кода ....
@ user1952009 Множество "настоящих программ", содержащих более 10000 строк, было написано еще до того, как были изобретены IDE.
тролль? очевидно, что вы почти не можете создавать программы без компьютера, даже если некоторые алгоритмы были написаны до компьютеров, которые даже были изобретены ... не троллите людей, я просто говорю, что в этом обсуждении не упоминается, что является наиболее важным: IDE призвана помочь кодированию, а не усложнять его. Современная среда IDE означает: хороший компилятор, дающий простые для понимания (и щелкающие) сообщения об ошибках + подсветка синтаксиса + автозавершение кода + отладчик (+ условные точки останова) + часы + функция eval (небольшой интерпретатор для часов + модификация часов) + анализатор кода выполнения / перфорации + ....
и я забыл о поисковой системе IDE, которая ОЧЕНЬ важна для проектов с более чем 10000 строками.
Я слышал, Анджута довольно хороша для пользователей Gnome. Я немного поиграл с KDevelop, и он хорош, но в нем не хватает функциональности. Code :: Blocks тоже очень многообещающий, и он мне нравится больше всего.
Мне очень нравится IDE Окончательный ++. У него есть некоторые функции, которые были разработаны для использования с их собственной библиотекой (что, кстати, является довольно хорошим набором инструментов, если вы не хотите покупать ни GTK +, ни QT), но он отлично работает с общими проектами C++. Он обеспечивает достойное завершение кода, хорошую окраску синтаксиса, интегрированную отладку и все другие функции, которые поддерживает большинство современных IDE.
ух ты! Что касается скриншотов, это действительно потрясающе! Я обязательно попробую. Вы знаете, придется ли мне за это платить? (Это не совсем понятно на сайте Ultimate ++)
Нет, это бесплатно, как в словах «речь», «пиво» и «поездка». Они даже довольно открыто относятся к принятию исправлений и очень часто выпускают их, так что это настолько открытый исходный код, насколько это возможно :)
Если вам нравится Eclipse для Java, я предлагаю Eclipse CDT. Несмотря на то, что поддержка C / C++ не такая мощная, как для Java, она по-прежнему предлагает большинство функций. В нем есть хорошая функция под названием Managed Project, которая упрощает работу с проектами C / C++, если у вас нет опыта работы с Makefiles. Но вы все равно можете использовать Makefile. Я занимаюсь программированием на C и Java, и мне очень нравится CDT. Я разрабатываю прошивку для встроенного устройства на C и приложения на Java, которое взаимодействует с этим устройством, и действительно приятно использовать одну и ту же среду для обоих. Думаю, это, вероятно, делает меня более продуктивным.
Чтобы не повторять ответ, но я думаю, что могу добавить еще немного.
Slickedit - отличная IDE.
Он хорошо поддерживает большие кодовые базы, не замедляя и не тратя все свое время на индексацию. (Это проблема, с которой я столкнулся с компакт-диском eclipse). На самом деле, скорость Slickedit, наверное, самая приятная в нем. Автозавершение кода работает хорошо, и есть большое количество опций для таких вещей, как автоматическое форматирование, украшение и рефакторинг. В нем есть встроенная отладка. Имеет поддержку плагинов и довольно активное сообщество, создающее их. Теоретически вы должны иметь возможность хорошо интегрироваться с людьми, выполняющими традиционные функции make-файлов, поскольку это позволяет вам создавать проект непосредственно из одного, но это не сработало так гладко, как мне хотелось бы, когда я попробовал его. Помимо Linux, существуют его версии для Mac и Windows, если они вам понадобятся.
Быстрый ответ, просто чтобы добавить немного больше знаний в эту тему:
Вы обязательно должны проверить NetBeans. Netbeans 6.7 имеет следующие функции:
Я думаю, что это идеальная (и намного лучшая) замена Visual Studio и очень хороший инструмент для изучения C / C++.
Удачи!
Я никогда не использовал Netbeans для разработки на C++, но это отличная IDE для разработки на Java.
Это также действительно хорошо для C++. У него лучший синтаксический анализатор языка.
Мне нравится Netbeans намного больше, чем Eclipse для разработки на C++.
NetBeans намного приятнее, чем Eclipse, я действительно хочу, чтобы больше людей начали это понимать.
После нескольких недель борьбы с Eclipse я нашел это, переключился на NetBeans и Спасибо! У него более приятный интерфейс, он более отзывчивый, интуитивно понятный и настраиваемый. Beats Eclipse безоговорочно
Еще одно голосование за то, насколько NetBeans лучше Eclipse. Он также имеет лучшую эмуляцию Vim (как плагин), которую я когда-либо использовал.
"у него есть отладчик C++". вы уже обращались к отладчику VisualC++? Это действительно хорошо, почти так же хорошо, как отладчики динамических / скриптовых языков. в 2015 году, прилично, мы больше не можем отлаживать наши программы с помощью printf ..
Я использовал Eclipse несколько месяцев, прежде чем отказался от него для NetBeans, и никогда не оглядывался назад.
Совет Конрада превосходен, и вы должны без особых проблем стать продуктивным в классической среде vi / cc / ld / db / make. Многие, многие студенты университетов изучили этот инструментарий в течение 10-15-недельного курса.
Тем не менее, другая классическая среда - это пойти по пути Emacs. Я бы не назвал это IDE, но он интегрирует в редактор два важных инструмента разработки: вывод компилятора и отладчик. Вы можете привязать вас к строке в файле, соответствующей ошибке компилятора, и вы можете установить точки останова и использовать степпер из редактора.
Что было бы хорошим учебным пособием для замены 10-15-недельного урока?
Мне нравится НАУКА как базовый редактор для C++ / Python в Linux. Он имеет привязки клавиатуры, аналогичные VC, поэтому вам не нужно перепрограммировать пальцы для вырезания и вставки.
Я использую его вместе с Git для управления исходным кодом и очень полезной командой git grep для поиска в вашей базе кода.
Я играл с Eclipse CDT, но моя база исходного кода была слишком большой для этого, и я трачу слишком много времени на ожидание в среде IDE. Если ваш проект меньше, он может быть вам полезен.
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,
~ А
Просто быстрый ответ на этот вопрос ...
Прошел месяц с тех пор, как я начал использовать Vim в качестве основного графического интерфейса пользователя. инструмент для программирования C++ в Linux. Сначала обучение кривая действительно была немного крутой, но через некоторое время и с правильные параметры включены и скрипты запущены я действительно получил это!
Мне нравится, как вы можете настроить Vim в соответствии со своими потребностями; просто добавьте / измените ключевые сопоставления, и Vim превратится в высокопроизводительная «IDE».
Набор инструментов для создания и компиляции программы на C++ в Linux: также действительно интуитивно понятный. make и g ++ - это инструменты в, которые вы использовать.
отладчик ddd, однако, не так уж хорош, но может это потому, что у меня не было времени осваивать это правильно.
Итак, всем, кто ищет или искал хорошую C++ IDE в Linux, как и я, ваш лучший выбор - это стандарт доступные инструменты в самом Linux (Vim, g ++, ddd) и вы действительно стоит хотя бы попытаться использовать их, прежде чем искать сонет еще ...
И последнее, но не менее важное: я действительно хочу поблагодарить Конрад за его ответ здесь: Это действительно помогло мне найти свой путь в Среда разработки Linux, спасибо!
Я также закрываю этот вопрос нет, чтобы люди все еще могли реагировать или, может быть, даже добавлять новые предложения или дополнения к уже действительно хорошие ответы ...
Я рад, что вы, кажется, справляетесь с этим с помощью vim. Но я должен сказать, что я немного озадачен тем, что вам уже «очень нравится Eclipse для Java», подразумевая, что вы уже знакомы с тем, как он работает. В таком случае, почему бы вам также не использовать его для C++? CDT отвечает всем упомянутым вами требованиям.
Eclipse C++ IDE лишена полезности по сравнению с Java-эквивалентом. Серьезно, это безнадежно. Все уловки с мускулами памяти, изученные в версии для Java, по необъяснимым причинам терпят неудачу в версии C++, делая вашу работу намного менее продуктивной. Как Супермен с криптонитом в нижнем белье.
why wouldn't you also use it for C++? CDT meets every requirement you've mentioned.
Сначала я не использовал eclipse, потому что не был уверен, что он одинаково хорошо дает мне средства разработки на C++ (эффективно). Кроме того, я был убежден, что для разработки на C++ в Linux должны быть лучшие, более специализированные инструменты:
and I really like that [eclipse] IDE for java, but is it any good for c++ and won't I miss out on something that is even better?
Я искренне верю, что, хотя некоторые инструменты (например, eclipse) хороши во многих вещах, лучше всего поискать и другие варианты (и я имею в виду не только для IDE, но в целом и даже в реальная жизнь). .
Как и в этом случае, vim действительно великолепен, и я бы пропустил его, если бы придерживался того, что уже знал.
Я действительно предлагаю кодовые блоки. Он не такой тяжелый, как Eclipse, и имеет поддержку проектов Visual Studio.
Я вырос в Visual Studio и обнаружил, что относительно молодой Код :: Блоки мне очень хорошо знаком.
Раньше я использовал Ultimate ++ IDE, и она неплохая.
По крайней мере, для проектов, специфичных для Qt, Qt Creator (от Nokia / Trolltech / Digia) показывает большие перспективы.
Я также использую его для проектов, не относящихся к Qt.
Это мило. Я попробовал, и он мне очень нравится.
And then I noticed that this simply isn't how you work there*, and I threw everything out, spent a few days reading manuals, set up my shell (bash), set up a GVIM environment, learned the GCC/binutils toolchain, make and gdb and lived happily ever after.
Я в основном согласен, но проблема заключается также в восприятии: мы забываем, насколько сложно было продуктивно работать в любой выбранной IDE (или другой среде). Я считаю IDE (Visual Studio, NetBeans, Eclipse) невероятно громоздкими во многих отношениях.
As an old-time UNIX guy, I always use Emacs. But that has a pretty steep and long learning curve, so I'm not sure I can recommend it to newcomers.
Я бы поддержал это; использовать Emacs в качестве основного редактора как в Linux, так и в MSW (XP2, W2K). Я бы не согласился с тем, что у него есть кривая обучения отвесный, но сказал бы, что из-за огромного количества функций у него есть кривая обучения длинный. Вы можете продуктивно работать за короткое время, но при желании можете изучать новые возможности на долгие годы.
Однако - не ожидайте, что все функции Emacs будут доступны в раскрывающихся меню, их просто слишком много, чтобы найти их там.
Как я уже говорил, я много лет использовал GNU Emacs на MSW. И это всегда хорошо работало с Visual Studio, пока я не «обновился» до 2008 года; теперь иногда задерживает на много секунд перед обновлением файлов с диска. Основная причина редактирования в окне VS - функция завершения кода "Intellisense".
geany рекомендую
Рекомендую прочитать Искусство программирования UNIX. Это заставит вас использовать среду в качестве IDE.
Используйте Моно-разработка. Он очень похож на Visual Studio. Он работает кросс-платформенный и потрясающий !!
SlickEdit. Я использую и люблю SlickEdit с 2005 года как в Windows, так и в Linux. У меня также есть опыт работы в Visual Studio (5, 6, 2003, 2005) и только с Emacs и командной строкой. Я использую SlickEdit с внешними make-файлами, некоторые из моих товарищей по команде используют SlickEdit, другие используют Emacs / vi. Я не использую интегрированный отладчик, интегрированный контроль версий, интегрированную систему сборки: я обычно считаю слишком большую интеграцию настоящей проблемой. SlickEdit надежен (очень мало ошибок), быстр и интуитивно понятен. Это как немецкая машина, машина водителя.
Новые версии SlickEdit, кажется, предлагают много функций, которые меня не интересуют, я немного беспокоюсь, что продукт в будущем станет раздутым и разбавленным. На данный момент (я использую V13.0) это здорово.
Моя любимая среда - CodeLite 2.x IDE.
см .: http://www.codelite.org
Решение использовать CodeLite было основано на исследовании следующей C++ IDE для Linux:
В конце концов я решил использовать CodeLite 2.x.
Ниже я перечислил некоторые плюсы и минусы упомянутых C++ IDE. Обратите внимание, что это отражает только мое личное мнение!
РЕДАКТИРОВАТЬ: как жаль, что SOF не поддерживает таблицы, поэтому приходится писать по абзацам ...
Eclipse Galileo с подключаемым модулем CDT
Плюсы:
Минусы:
NetBeans 6.7 (обратите внимание, что это также основа для SunStudio IDE)
Плюсы:
Минусы:
KDevelop4 (примечание: я не особо много тестировал)
Плюсы:
Минусы:
CodeBlocks 8.02 (примечание: я не особо много тестировал)
Плюсы:
Минусы:
CodeLite 2.x (примечание: это мой личный фаворит)
Плюсы:
Минусы:
Eclispe поддерживает Hg, Git, SVN и другие через плагины. А заставки / заставки засасывают огромные яйца. Они высасывают ресурсы и приносят очень мало пользы. И они обычно появляются перед тем, над чем я работаю, пока приложение загрузится. PortableApps и Eclipse должны избавиться от них.
Codelite получил ту же комбинацию клавиш, что и Visual Studio, для отладки, что делает его очень удобным для пользователей Visual Studio.
Может быть, здесь побеждает старую лошадь, но графический интерфейс IMO eclipse действительно не имеет себе равных. Да, сначала сложно учиться, но это похоже на Vi, где продуктивность начинает стремительно расти после того, как вы поднялись по крутой кривой обучения. Чтобы доказать свою точку зрения, попробуйте нажать Ctrl + 3 - одна из очень замечательных функций в eclipse IMO.
«Минусы: использует пробелы для отступов [...] Я уверен, что это можно настроить, но я не мог понять, как это сделать». Это показывает, что вы на самом деле не использовали инструменты, иначе вы в конце концов нашли бы вариант.
CodeLite - это потрясающе, как жевать ледяную жевательную резинку с дентином. Во рту останется свежий мятный привкус. Eclipse, будучи функциональным, также дает вам рвоту после привкуса, когда вы его используете. Я знаю, что это звучит по-детски, но на самом деле это лучшая метафора для объяснения «ощущения» от их использования. Я уверен, что со мной согласятся и другие.
Eclipse Indigo (3.7) теперь поддерживает Git из коробки (не могу подтвердить, насколько хорошо он работает, я его не использовал)
CodeLite теперь поддерживает CVS: codelite.org/Main/ReadMore#toc9
Дерьмо, из коробки не работает.
make + vim + gdb = одна отличная IDE
Возможно, Проект Linux Tools для Eclipse сможет удовлетворить ваши потребности?
The Linux Tools project aims to bring a full-featured C and C++ IDE to Linux developers. We build on the source editing and debugging features of the CDT and integrate popular native development tools such as the GNU Autotools, Valgrind, OProfile, RPM, SystemTap, GCov, GProf, LTTng, etc. Current projects include LTTng trace viewers and analyzers, an RPM .spec editor, Autotools build integration, a Valgrind heap usage analysis tool, and OProfile call profiling tools.
Я использую Eclipse CDT и Qt Creator (для приложений Qt).
Это мои предпочтения. Это очень наводящий вопрос и на него столько же ответов, сколько разработчиков. :)
Для меня Окончательный ++ кажется лучшим решением для написания кросс-OS программы
Короче ответ: выберите любой «редактор», который вам нравится, а затем используйте консоль GDB или простой интерфейс GDB для отладки вашего приложения. Отладчики поставляются с причудливыми IDE, такими как Netbeans отстой для C / C++. Я использую Netbeans в качестве редактора и консоль Insight и GDB в качестве отладчика.
Обладая проницательностью, у вас есть красивый графический интерфейс и чистая мощь GDB.
Как только вы привыкнете к командам GDB, вам это понравится, поскольку вы можете делать то, что никогда не сможете делать с помощью графического интерфейса. Вы можете даже использовать Python в качестве языка сценариев, если используете GDB 7 или более новую версию.
Большинство людей здесь уделяли больше внимания «редакторам» IDE. Однако, если вы разрабатываете большой проект на C / C++, вы легко можете потратить более 70% своего времени на «отладчики». Отладчики модных IDE отстают от Visual Studio как минимум на 10 лет. Например, Netbenas имеет очень похожие интерфейсы с Visual Studio. Но его отладчик имеет ряд недостатков по сравнению с 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 (встроенные или определяемые пользователем. ).
Используйте PrintVal 1 из приглашения GDB, чтобы распечатать значения для ID "1"
Между прочим, NetBeans поставляется с консолью GDB, но при использовании консоли вы можете вызвать сбой Netbeans. И я считаю, что именно поэтому консоль по умолчанию скрыта в NetBeans.
Хорошая точка зрения. Но, к сожалению, у GDB очень крутая кривая обучения. Я использую его в течение многих лет, и я до сих пор никогда не использовал макросы, и (хотя я знаю, что это возможный через макросы!) Любой код STL, который я ему добавляю, не может быть отлажен лучше, чем в современных IDE.
Я потратил 2 дня на освоение большинства команд в GDB. Как только вы познаете всю мощь ГББ, вы никогда не оглянетесь назад. Это сэкономит вам много времени, когда вы исправите труднодоступные ошибки.
Если вы использовали vim в течение длительного времени, вам действительно стоит сделать это своей IDE. Доступно множество аддонов. Я нашел некоторые из них очень полезными и собрал их здесь, взгляните на них.
И многое другое в серии советов и приемов vi / vim.
Я предпочитаю использовать Emacs и Vim для написания кода на C++. Когда мне нужно использовать IDE, я использую CodeBlocks.
Я использую Анджута для своих университетских проектов около 3 лет назад. Последнее время не пользуюсь. Но тогда это было хорошо, так что с последними выпусками должно быть лучше.
С тех пор он был значительно улучшен. Еще много интегрированных функций. Сейчас он мне очень нравится, поскольку в нем все еще нет раздутия, но в нем появляются все полезные функции IDE.
Code :: Blocks - это здорово.
Я использую "Geany", который до сих пор считался удачным, его быстрая и легкая IDE.
Мне нравится, как люди полностью пропускают запрос в исходном вопросе для IDE. Linux НЕ является IDE. Просто не то, что означают эти слова. Я изучил c и C++, используя vi, gcc и make, и я не говорю, что они не являются подходящими инструментами, но они НЕ являются IDE. Даже если вы используете более сложные инструменты, такие как vim или emacs, или любой другой модный редактор, который вам нужен, ввод команд в командной строке не является IDE.
Кроме того, вы все знаете, что make существует как часть визуальной студии, верно? Идея о том, что IDE «ограничивает», просто глупа, если вы можете использовать IDE для ускорения некоторых вещей, но все же можете вернуться к работе с командной строкой, когда это необходимо.
С учетом всего сказанного, я бы предложил, как и некоторые из вышеперечисленных, попробовать блоки кода. Он имеет приличную подсветку кода, довольно простой способ создать проект, закодировать его, запустить и т.д., что является ядром настоящей IDE и кажется довольно стабильным. Отладка - отстой ... Я никогда не видел достойного интерактивного отладчика в любом варианте linux / unix. gdb не так ли. Если вы привыкли к отладке в стиле Visual Studio, вам в значительной степени не повезло.
В любом случае, я пойду собирать свои вещи, я знаю, что толпа Linux только для одного просмотра выкрикнет это и выгонит меня из города в кратчайшие сроки.
У вас есть пункт. Это не IDE в том виде, в каком мы ее знаем. Однако интересно, что ОП проголосовала за этот ответ! Прикрепляю свои цвета к мачте: я фанат make-файлов командной строки.
Наконец, кто-то, у кого есть мозги ... Я думаю, другие просто кодируют тривиальные вещи, если они могут делать все с помощью emacs / vim.
Также вы можете попробовать настроить emacs как IDE.
Подробности обсуждаются здесь.
акме, Сэм из plan9,
вы можете использовать его через Plan 9 из пользовательского пространства.
редактор vim + компилятор g ++ (GNU C++) + gdb - может вам помочь
IntelliJ IDEA + плагин C / C++ в http://plugins.intellij.net/plugin/?id=1373
Приготовьтесь к тому, что ваш ум взорвется.
Ваше здоровье!
На мой взгляд, лучшая IDE для Linux - это SlickEdit. Это стоит денег, но работает быстро, с отличной поддержкой тегов и отличным инструментом сравнения, хорошо работает с огромными проектами.
Для проектов на основе CMake я использую Jetbrains CLion
Для проектов на основе Autotools уже упомянутый Qtcreator.
Для всего остального: VIM + YouCompleteMe
В Linux существует множество IDE:
В опыте мой наиболее ценными являются Затмение и Qt Creator. Оба предоставляют все "стандартные" функции (например, автозаполнение, подсветку синтаксиса, отладчик, интеграцию с git). Стоит отметить, что Eclipse также предоставляет функции рефакторинга, в то время как Qt Creator обеспечивает интеграцию с Valgrind и поддержку развертывания на удаленных объектах.
Также коммерческий CLion IDE кажется довольно хорошим (но я не использовал его широко).
Это, я думаю, четвертый вопрос «Какую IDE мне следует использовать в Linux?» Через день или два.