Best C/C++ Linux IDE

Всем привет,

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

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

NetBeans, естественно.
Но реализацию от JetBrains всё равно жду с нетерпением и уже готов купить.

Использую XEmacs. Но в Винде один проект вытянул на CodeBlocks, который есть и для Линукса. По Линуксу не скажу, но в Винде он мне понравился.

Использую XCode и Sublime, по настроению. XCode хорош тем что построен на libclang — очень хорошо подсказки в C++11 работают, сообщения об ошибках внятные. Sublime просто быстрый и удобный.

пробував Qt та Eclipse
Qt не підійшов, так як:
— не добре дружить із makefile (Eclipse з льоту хапає і робить проект з makefile), так як рідний в нього qmake
— як фреймвор затяжкий для ембедеда, тре тягнути Q-бібліотеки та середовище
Eclipse
— дружній до makefile, тому зручний для кроскомпіляціі
— швидко і просто налаштовується для ssh та інших няшок (gdb)

Висновок:
— Qt — для «тяжких» програм (веб, десктоп), має гарний GUI та QML та JS
— Eclipse — для ембедед
P.S.
Geany ну для зовсім малих проектів на кілька файлів

якраз Qt для embedded як цукерочка. Він модульний все надлишкове й непотрібне легко відключити, там майже все є. Він легко й швидко портується на нові платформи завдяки QPA (Qt Platform Abstraction ).
Qt підтримує море різних платформ та операційних систем.
Qt можна зібрати так щоб він працював напряму з фрейм буфером.
Поцікався стосовно Boot to Qt — він спеціально націлений на вбудовані системи.
Так він не підходить для найпростіших промислових мікроконтролерів, але для них підхід особливий. Але вбудовані системи це не тільки мікроконтролери це й
банкомати,
платіжні термінали,
телекомунікаційне обладнання
та багато чого іншого.
От для платіжних терміналів та банкоматів Qt й особливо QML надзвичайно привабливий й зручний фреймворк.

Qt для embedded як цукерочка
якщо ембедед — однплатний то таки
Qt й особливо QML

Банкоматы и терминалы приема платежей — обычные ж ПС-шки. Зачем там ембеддед?

QtCreator, и там уже есть свой фейковый вим.

Но нужно cat. Только cat, только хардкор.

Угу. Выводить через cat, а править через sed.

Еклипс. Не панацея, но пользоваться можно.

Есть ещё вариант source insight + wine

<span sarcasm="true">А для шершавого — VS + wine и mono?</span>

Причём тут шершавый? Про Source Insight я упомянул т.к. он оптимизирован для очень больших проектов, и на вайне работает достаточно хорошо

Юзаю Qt Creator, очень нравиться, считаю что превосходит eclipse в плане удобства конфигурирования, подсветки, навигации по коду, легкости подключения сторонних либ и интеграции с build tools.

А отсутствие элементарных вкладок файлов, над которыми идёт работа, тоже нравится? В каждой более-менее приличной IDE это имеется.

Для креатора є така штука: github.com/...exin/editortabs (щоправда я сам не користувався)

Юзал Eclipse + KUbuntu + CTD - доволен.
Eclipse бывало подвисал :-) - за 10сек. перезапускал его опять.

В Целом доволен.

P.S.

а вообще уже двух типов стречал которые девелопять Vim-е везде.

Коментар порушує правила спільноти і видалений модераторами.

Уже лет 5 как пишу под Linux, первое время писал из винды в VC, столкнулся с кучей неудобств, постепенно перешёл на линукс, более на винду не возвращался, даже дома вне работы. Первое время пробовал KDeveloper, потом постепенно перешёл на (g) vim, жаления менять на что-то другое ни разу не возникало... Правду говорят выше, linux в разы более дружелюбен для программиста чем windows, просто ума надо немного больше для того чтобы создать себе среду (в винде оно просто готовое уже, а тут сам строишь как хочешь)...

С еклипсом, на моем немощном компе, мне приходилось индексацию (с ней и автодополн.) отрубать, бо после каждого сейва оно зависало на минуты две:) На винде еще было куда не шло.
Поставил себе Code: Blocks nightly build, очень даже ничего. Чего я раньше не попробовал:)

2Andriy, спасибо, раньше про Codelite неслышал, попробую.

Codelite легший за Code: Blocks

Ще як варіант Emacs+Cedet+ecb+xref (платний www.xref.sk/...tory/main.html

Пробував NetBeans, Eclipse, KDevelop, але найбільше сподобався Code: Blocks, порівняно з попередніми — найшвидше працює (принаймні на моїй машині). В усіх є недоліки і переваги, але з цього набору мені Code: Blocks підходить найкраще.

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

Только брать нужно обязательно nightly build, то что у них на сайте в разделе download это полный шлак и отбивает всякое желание использовать данное IDE.

А про Code: Blocks кто чего скажет? Поделитесь, интересно. Попробую его тоже себе поставить...

Qt Creator — это хорошо конечно, я сначала так обрадовался аж пипец, думал ну вот нашел таки что-то типа золотой серелины (скорость\удобство). Но там как визуал студии исходники только в одной папке лежат (нельзя в подпапки разнести). Для меня, к примеру это важно. Ну облом, была б там сислема схожая с еклипсом цены ему б небыло, ИМХО.

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

2 анонимус: я на объективность не претендую, что вы:) единственно верного пути тут нет.


Странно, в такой флеймообразущей теме так мало про vi/emacs:)
В плане инструментов, считаю, что не важно IDE / не IDE, главное, чтобы желания совпадали с возможностями, и вам нравилось. Поясню. Никогда не приходилось использовать IDE под *nix, но приходилось под винду (и даже BC++ 3.1 под DOS:). Вроде бы под виндой в IDE можно было как-то жить.
Но сейчас пишу под unix и под винду на C (кросплатформенная библиотека), забив на плюсы, на которых писал за деньги с 1998 (почему, достойно отдельного поста). И супер продвинутые фичи современных IDE — это конечно классно. Но за все приходится платить. Если я перейду сейчас на IDE, то я потеряю возможность:
a) редактировать файлы на куче серверов, которые доступны по ssh (emacs/tramp), а мне очень надо.

Есть в Eclipse RSE.

б) возможно редактировать множество типов файлов в одном редакторе (разные языки программирования, я еще использую питон и иногда лисп, ну, приходится и на java иногда смотреть) ну это справедливо не для всех IDE, насколько понимаю netbeans и eclipse сейчас очень универсальны.

Eclipse

г) может потребоваться постоянная перенастройка редактора под конкретный проект. В емаксе 23 можно для каждой директории сказать какой вообще стиль кодирования должен быть.

Можно в Eclipse

д) org-mode и прочие прибамбасы, к которым я в принципе не привязан, но иногда нахожу полезными.

Более фичастый аналог оргода — Eclipse Mylyn.

ж) заменив простой проверенный open-source софт на большой развесистый коммерческий, потеряю частичку душевного спокойствия:)
Eclipse — FOSS.

А вообще у меня тоже Емакс как правило основной редактор, но сейчас приходиться разгребаться в огромном волосатом плохо прокоментированом/местами без комментов вообще проектом и поэтому поюзываю Эклипс. Так что вы не совсем объективны (мягко говоря).

пользовался KDevelop года полтора-два назад — порадовал Kdevelop automake manager, сделавший почти всю работу по созданию/редактированию autotools файлов за меня, вручную пришлось добавлять только правила для Flex, Bison и gperf. Автокомплит тогда конечно был не очень — как сейчас не знаю. Ну и соответственно сборка, пересборка проекта, отладка. Соответственно т.к. для сборки использовались autotools можно было втянуть в IDE autotools based проект и более наглядно посмотреть что там в нем да как.
Anjuta последних версий выглядит неплохо хотя особо пристально на нее не смотрел.
ну и соответственно vim & emacs — думаю если подобрать (как вариант написать:)) необходимые плагины можно получить весь требуемый функционал. Вот хорошая статья Настройка Emacs & Cedet для программирования на C & C++ ну, а snipmate plugin для vim — это ж вообще прелесть.

так мало про vi/emacs

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

зы. в gvim очень расстроило что ряд плагинов под виндовую сборке не перенести

Странно, в такой флеймообразущей теме так мало про vi/emacs:)
В плане инструментов, считаю, что не важно IDE / не IDE, главное, чтобы желания совпадали с возможностями, и вам нравилось. Поясню. Никогда не приходилось использовать IDE под *nix, но приходилось под винду (и даже BC++ 3.1 под DOS:). Вроде бы под виндой в IDE можно было как-то жить.
Но сейчас пишу под unix и под винду на C (кросплатформенная библиотека), забив на плюсы, на которых писал за деньги с 1998 (почему, достойно отдельного поста). И супер продвинутые фичи современных IDE — это конечно классно. Но за все приходится платить. Если я перейду сейчас на IDE, то я потеряю возможность:
a) редактировать файлы на куче серверов, которые доступны по ssh (emacs/tramp), а мне очень надо.
б) возможно редактировать множество типов файлов в одном редакторе (разные языки программирования, я еще использую питон и иногда лисп, ну, приходится и на java иногда смотреть) ну это справедливо не для всех IDE, насколько понимаю netbeans и eclipse сейчас очень универсальны.
в) быстро писать всякие утилитки, например, меня IDE-шники просят временами сконвертить им бинарик в C-шный массив, наверное таких утилит навалом, да и написать можно за 5 минут, но то целая утилита, а у меня 10 строк в *scratch* буфере, который затем перекочевали в.emacs, разные конвертеры форматов и пр. пишутся очень хорошо.
г) может потребоваться постоянная перенастройка редактора под конкретный проект. В емаксе 23 можно для каждой директории сказать какой вообще стиль кодирования должен быть.
д) org-mode и прочие прибамбасы, к которым я в принципе не привязан, но иногда нахожу полезными.
е) просто единый редактор для всего вообще.
ж) заменив простой проверенный open-source софт на большой развесистый коммерческий, потеряю частичку душевного спокойствия:)

Что я получу, отказавшись от этого? Поддержка makefile’ов в IDE все равно кривая, поэтому не нужна. Отладчика под винду у меня вообще просто никакого нет (ну вернее WinDBG есть конечно, но запускал я его два раза за полтора года, и кроме одной-двух команд ничего в нем не понимаю), а gdb под линуксом я запускаю раз в несколько месяцев (т.е. оболочка для него неактуальна). Для навигации по исходникам могу обходиться даже без cscope, а обычным etags. Рефакторинг — ну оно конечно удобно переименовать быстро функцию во всех местах, но если реально подумать, как часто я это делаю, скорее всего окажется несущественным. А более сложные рефакторинги хотелось бы все равно контролировать. Так что для меня емакс очень хорошо подходит.

As for me, Eclipse CDT is very nice and usefull.

Я компилю / линкую проект через makefile, ну его соответственно и правлю. Исходники редактирую в KDeveloper, как редактор он очень даже ничего, но как полноценное IDE — полное фуфло, попробовать создать там проект и потом править его параметры — это полный гемор, проект становится абсолютно не портабельным.

У нас весь отдел работает по такой схеме, но большинство юзает vim вместо KDeveloper.

Мені цікаво у VC є SVN і CVS вбудовані?
Я пробував перенести з екліпса (пишу в лінуху) проект і той не скомпілився... виявилося було два cpp файли з однаковими іменами в різних папках, а хвалена VC всі obj складає в корінь дебага. Ну це так, ліричний відступ.

І ще цікаво чи є у VC є настільки розвинені шаблони як у Eclipse. Оу і ще чи виділяє студія парні дужки?

cscope + vim. Автодополнения и рефакторинга правда нет (автодополнение правда есть в vim, а нечто вроде «найти такой идентификатор и переименуй его» реализуется cscope). Автоматического билда и создания Makefile тоже нет. И отладчика встроенного, очевидно, тоже нет. Но пока лучший вариант.

А этот самый CDT для Eclipse позволяет подцепить уже существующий проект с Makefile и собирать его. отлаживать и запускать с необходимыми параметрами? Могу ли я установить заранее тип сборки (с помощью configure и make) для отладочной и финальной версии? Можно ли там использовать внешний текстовый редактор? Насколько он надежный и как он по скорости. Интересуют реальные отзывы тех, кто его использовал для программирования чего-то, что построено на GNU build system, если конечно такое возможно.

CDT последний раз видел в составе моментикса два года назад

моментикса — это не «видел мельком», а QNX Momentix c которым пришлось поработать достаточно долго, фактически это еклипса + сдт + дополнительные плагины, так что впечатлений о ток, что и как СДТ делает вполне имею.

ладно, тогда можно посоветовать только SlickEdit:), но там проблемы с кряками

І

Не забывайте только плз, что тема топика «Best C/C++ Linux IDE»

2dalv: это прямо какой-то «линкукс головного мозга»: (услышали что «юникс вей это рай для разработчика», а проверить как обстоят дела на самом деле забыли.
основные претензии — к навигации по коду, распарсать с++ для обеспечения этого задача не тревиальная, при работе с проектом, очень часто нужно глянуть как определенная ф-ция/класс/структура определена или реализована, и визуал студия с плагинами пока справляеться с этим намного лучше чем все претендующее на название ide под линуксом.
относительно «вы и ставьте/доказывайте» — вполне достаточно проработал с еклипсой, чтобы желания использовать ее для с++ девелопмента не возникало, у нее есть своя ниша — кастумные ide для кьюникса, вхворкса и т.д.

Кроме того в топике интересовались автодополнением и рефакторингом для с++, так вот, в варианте с кросплатформеный програмированием и использованием визуал студии+асиста, эти фичи вполне юзабельны (не идеальны), а вот под линуксомыми ide они гораздо хуже. можете спорить, но сначала не говорите

«немного отстал от жизни, много лет студию не видел»

, а попробуйти их в студии.

ты уверен, что перечисленое мной серьезно улучшилось за это время? поставь обе системы, возьми проект по-больше и попробуй сравнить:)

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

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

2eugene_n
“Юзабилити Винды для разработчика и рядом не лежало с юзабилити Юникс-систем.” возможно это утверждение было правильным лет 10 назад. Можете мне подсказать, как под линуксом настроить среду аналогичную по качеству связке VC++ & Visual Assist в плане навигации по коду большого проекта? какими средствами это сделать? убогим стагом? c++ очень сложный язык для распарсывания, по этому пока что подсказка и навигация по коду нормально сделана только в указаной выше связке.
2Вадим Міхневич

на джаве что под линуксом что под виндой писать, вобщем без разницы, там еклипс, но средства разработки на с++ под линкусом сильно отстали от винды.

2 eugene_n:
Як на мене, то один чорт під чим писати. Я десь місяць тому повністю перевів робоче місце на Лінукс (Ubuntu 8.04), і ніяких особливих незручностей не відчуваю (крім, хіба що, одної — не знайшов драйверів для Cannon MF3200, тому з мережевим друком проблеми. Але оскільки потреба щось друкувати в мене виникає рідко, то це не критично). Змінив SVN-клієнта, клієнта аськи/джаббера, медіаплеєр, софтфон — і, власне, все. IDE те саме, браузер, скайп, офіс, клієнт бази даних — увесь робочий софт той же.
Час компіляції чи ще якихось операцій не засікав, але відчуття зміни швидкодії немає. Звісно, десь зо два дні стратив на те, щоб усе це покласти і налаштувати — але певен, що якби облаштовував, скажімо, систему на Vista, часу пішло б не менше. А з того часу все працює як годинник.

Щоправда, я пишу на Java, тож про умови розробки на С/С++ скромно промовчу. Втім, підозрюю що там також все нормально.

Не хотелось бы раздувать холивар, но минимизировать время разработки под линкусом звучит как «удобнее ходить по потолку». Юзабилити Винды для разработчика и рядом не лежало с юзабилити Юникс-систем.

imho, удобней програмить под виндовс в VC++& VisualAssist и минимизировать время разработки под линкусом. процентов 80 можно отладить под сигвином/виндой (а можно и больше, зависит от здачи, qt & gtk под виндовсом тоже работают), потом оставшееся можно отладить с помощью www.viksoe.dk/.../bvrde.htm.Если такой путь не кажется кошерным — ставить kdeveloper. true unix way в виде vim/emaкс осваивать только в крайнем случае, это никакие не IDE, а расширяемые плагинами редакторы, их настройку под задачу занимает за много времени.

юзаю kate и notepad++ под окнами. для учебных целей хватает с головою — редактор супер!

Кстати, а какой плагин используют фанаты вима для рефакторинга?

Это был мой ответ, после новогоднего празднования всегда замечаю приступы рассеянности у себя...

2 Аноним,

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

2 crypto5: на самом деле все тобой перечисленное и многое другое есть в vim:) либо, как вариант добивается скриптами (есть куча готовых) и использованием сторонних программ и библиотек, ctags вон к примеру.

так что может стоило бы сначала изучить инструмент?:)

dalv,
собственно я написал чего мне хочется в IDE, и чего я не нашел в vim...

Мучаться чисто ради идеи... это не для меня!

Code: Blocks — легка, інтуітивно зорзуміла, дуже легка та очевидна в настройці, кросплатформова, розробка не тільки для систем з ОС... Віддаю перевагу їй...
//===
Eclipse — важка, безліч настройок — більшісь з яких непотрібні здоровій нормальній людині напротязі життя:), гіперрозширюєма за рахунок плагінів — більшісь з яких є спосіб самовираження релігійних фанатів — еклипсоїдів:). Кросплатформова, розробка не тільки для систем з ОС. Для багатьох фірм — корпоративний стандарт — тому і я встановив. Та не дуже подобається, майже непрацюю...
//===
KDevelop — відмінний професійний інструмент, що само собою зрозуміло незамінний для KDEшників, але далеко не тільки... Не особливо легко настроюється, але терпимо... Якщо 4-а версія буде схожа на 4-ті «кеди» — то я мерщій видаю це неподобство (звісно якщо ще буду живий:)...
Використовував тільки раз — бавився з розробкою під ucLinux...
//===
Anjuta — досить велика за обсягом, не використовував та хочу — як IDE для makefile на не x86 цільову платформу.
//===

vim + astyle + makefile — справжній вибір фаната-аскета-юніксоїда:)... Доречі, часто користуюсь, і цього і в наш час більш ніж достатньо...

Я бы предпочел Code: Blocks, Eclipse хороша, но пожалуй слишком тяжеловесна. Он скорее основа для сильно кастомизированных систем как Momentics или WindRiverWorkbench.Впрочем то что, она изначально заточена на джаву в данном случае может перевесить.

Підписатись на коментарі