LINUX.ORG.RU

Выбор C++ IDE


0

0

Здравствуйте, больше четырёх лет программировал в среде Visual Studio. С переходом на Linux стал испытывать сложности с IDE для программирования на С++.

Eclipse CDT. Жутко тормозит (у меня старый компьютер). Иногда по две-три минуты думает, чтобы выдать список IntelliSence.

Emacs + CEDET. Крайне своеобразный редактор. Я так понимаю без знания ELisp пользоваться невозможно. Любую элементарную операцию нужно настраивать самому. У меня настройка заняла почти два вечера и до сих пор пользоваться невозможно.

Больше ничего не пробовал, решил обратиться к вам.

Какую IDE под Linux вы можете посоветовать для программирования на С++?

Спасибо.

Ответ на: комментарий от a3

> Это помогает. Но периодически он глючит и скачет.

Потому что курсор уходит от отображаемой позиции больше, чем на выставленный scroll-conservatively.

mv ★★★★★
()
Ответ на: комментарий от tailgunner

> О. Значит, это тянется уж лет 8 как минимум. Генетические дефекты неизлечимы :)

Это (забивание на документацию) тянется с тех самых пор, как документацию вообще начали писать :)

mv ★★★★★
()
Ответ на: комментарий от kemm

> Если без этих возможностей жить невозможно -- может, стоит задуматься, всё ли ладно в датском королевстве, и не надо ли как-то рефакторить проект, чтобы в нём можно было ориентироваться?

Да возможно жить, никто не спорит, что возможно. И искать исключительно текстовым поиском через find-grep вполне возможно.

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

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

kamre ★★★
()
Ответ на: комментарий от AX

> Чего же конкретно не хватает в kdevelop, мой зелёный друк? :)

Find References для символа под курсором умеет? Или показывать иерархию вызовов функций?

kamre ★★★
()
Ответ на: комментарий от kamre

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

Мозг немного утомляется жждать перехода по ссылке в xref.

mv ★★★★★
()
Ответ на: комментарий от mv

> Мозг немного утомляется жждать перехода по ссылке в xref.

Работает он неторопливо, т.к. честно парсит все исходники как и обычный компилятор. Но зато капец как надежно, ни одна IDE так пока не умеет.

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

kamre ★★★
()
Ответ на: комментарий от eRazor

> Жаль, оно не бесплатное. -)

Это да, но понятно почему: они лицензировали C++ front-end от EDG, а это далеко не бесплатно.

kamre ★★★
()
Ответ на: комментарий от mv

> Потому что курсор уходит от отображаемой позиции больше, чем на выставленный scroll-conservatively.

Не знаю, помимо 50 я там указывал и большие значения (и документацию я таки читал) -- все одно. Какого хрена я вообще должен бороться с этим уе..ным скроллом? Что за <неразборчиво> решил, что это удобно?

a3
()
Ответ на: комментарий от a3

> Что за <неразборчиво> решил, что это удобно?

Тычо, это Ъ-вость и винтажность. Когда-то давно даже скоростные 300б/сек модемы не успевали отрисовывать нормальный построчный скроллинг :)

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

> Тычо, это Ъ-вость и винтажность.

[зевая] Всё равно при устройстве на работу будут спрашивать: "А чё, Емакс-то ниасилил?...Поди, и Лисп не знаешь?"

mv ★★★★★
()
Ответ на: комментарий от mv

> Всё равно при устройстве на работу будут спрашивать: "А чё, Емакс-то ниасилил?...Поди, и Лисп не знаешь?"

Я - не буду :-P

tailgunner ★★★★★
()
Ответ на: комментарий от mv

> Думал, что ты ремоутер

Да я бы не против, но... приходится ходить на работу :)

tailgunner ★★★★★
()
Ответ на: комментарий от kamre

>Find References для символа под курсором умеет? Или показывать иерархию вызовов функций?

:)) Эти функции присутствовали в kdevelop3 ещё с незапамятных времён. В тройке переход на определение/объявление делается через контекстное меню, в четвёрке - через тултип. Также можно забиндить на хоткеи. "Стек вызовов" показывается в боковой панели при остановке на брейкпоинте.

Встречный вопрос: в этом вашем CDT есть аналог Code Assistants (http://zwabel.wordpress.com/2009/03/13/really-rapid-c-development-with-kdevel...)?

AX ★★★★★
()
Ответ на: комментарий от AX

>>Find References для символа под курсором умеет? Или показывать иерархию вызовов функций?

>:)) Эти функции присутствовали в kdevelop3 ещё с незапамятных времён.

По фичам, KDevelop3 даже сравнения с CDT3 не выдерживал. Да еще и падал...

> В тройке переход на определение/объявление делается через контекстное меню,

Только вот тексты KDevelop3 парсил просто никак.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

>По фичам, KDevelop3 даже сравнения с CDT3 не выдерживал.

Список фич в студию, пожалуйста. А то все твердят про этот врошебный CDT, а в пример ничего кроме стека вызовов привести не могут. :)

>Только вот тексты KDevelop3 парсил просто никак.


И про это тоже поподробнее. Сколько им пользовался, никаких серьёзных нареканий не было.

AX ★★★★★
()
Ответ на: комментарий от AX

> В тройке переход на определение/объявление делается через контекстное меню, в четвёрке - через тултип.

А при чем здесь определение/объявление? Нужно найти все места, в которых встречается данный символ. При чем должны корректно учитываться все возможные контексты, скрытия имен и т.п. В общем не построив AST и не проведя семантический анализ, это сделать невозможно. Разве есть такая функциональность в kdevelop? В "тройке" вообще все весьма убогое индексирование исходников, как в "четвёрке" - пока не знаю, не смотрел еще, тем более и релиза пока не было.

> "Стек вызовов" показывается в боковой панели при остановке на брейкпоинте

Опять фигня какая-то, дебаггер и брейкпоинты ни при чем. Нужен статический анализ и поиск всех мест, откуда вызывается данная функция, и так далее по иерархии выше. Аналогично требуется семантический анализ, чтобы это работало корректно. Разве такое было в "тройке"? Или может быть появилось в "четверке"?

kamre ★★★
()
Ответ на: комментарий от AX

>> По фичам, KDevelop3 даже сравнения с CDT3 не выдерживал.

> Список фич в студию, пожалуйста.

Да не по списку. По реализации. В автокомплите и навигации он показывал малую часть символов, которые видел CDT. Отладчик в нем неудобный был, поддержка SVN никакая. То есть список фич - как надо, а в работе - лажа.

Кстати, сами разрабы KDevelop признали, что парсер у тройки никакой (почитай архивы девелского листа), и в KDevelop4 он будет новый.

>> Только вот тексты KDevelop3 парсил просто никак.

> И про это тоже поподробнее.

Ну блин, я тебе что, свои исходники зашлю?

Кстати, ты как-то не среагировал на то, что KDevelop3 падал. Тоже видел такое?

tailgunner ★★★★★
()
Ответ на: комментарий от kamre

>Нужно найти все места, в которых встречается данный символ. При чем должны корректно учитываться все возможные контексты, скрытия имен и т.п.

В четвёрке - ссылка "show uses" в тултипе.

>Нужен статический анализ и поиск всех мест, откуда вызывается данная функция, и так далее по иерархии выше.


Такого не видел.

AX ★★★★★
()
Ответ на: комментарий от tailgunner

>Да не по списку. По реализации.

Понятно.

>Кстати, ты как-то не среагировал на то, что KDevelop3 падал.


Простите, а как я должен реагировать на то, чего сам ниразу не видел? :)

AX ★★★★★
()
Ответ на: комментарий от AX

Решил попробовать kdevelop4 в действии, поставил в Kubuntu из репозитория. И вот сразу прям вот такое: http://pic.ipicture.ru/uploads/090710/U3W2qn4nAS.gif

Оно что, вообще не работает? Сразу тупо падает при попытке создать проект? Как тогда этим вообще можно пользоваться?

kamre ★★★
()
Ответ на: комментарий от kamre

>Kubuntu

Дальше можно не читать. :) Арч, kdemod-playground-kdevelop 3.9.94-1, проект нормально создаётся.

Кстати, судя по скрину, у тебя старый kdevelop.

AX ★★★★★
()
Ответ на: комментарий от AX

> Дальше можно не читать. :)

Ну я не тру-юзер, чтобы на гентах/арчах/слаках/... сидеть )

> Кстати, судя по скрину, у тебя старый kdevelop.

Какой пакет собрали в офиц. репо в kubuntu, такой и поставил :)

Потом еще в openSUSE попробую, может там мне повезет :)

kamre ★★★
()
Ответ на: комментарий от kamre

> Потом еще в openSUSE попробую, может там мне повезет :)

На том же самом месте падает: http://pic.ipicture.ru/uploads/090711/KpIA8chtj1.gif

И у этих мейнтейнеров руки не из того места растут? Или это все таки у разработчиков kdevelop что-то не так с руками, раз на таком простом сценарии сразу же падает?

В общем пока не зарелизится kdevelop4 нормально, его можно не рассматривать при выборе IDE для C++.

kamre ★★★
()
Ответ на: комментарий от lester

да, именно в Gimp и сделал: кучку скриншотов, потом open as layers, crop и сохранил как gif с анимацией

более трушных методов не знаю...

kamre ★★★
()

Да нету под линукс IDE, сравнимых по фичастости с VS. И не под линукс нету. И едва ли будут. Забей.

vasily_pupkin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.