Нормальный редактор для C++ - существует ли?
От: alex_public  
Дата: 05.03.12 20:34
Оценка: 1 (1)
Практически уверен что получу отрицательный ответ (т.к. если бы существовал положительный, то скорее всего я бы про него уже давно знал), но всё же потрачу время на написание... А вдруг?

Значит мы пробовали для работы:

Visual Studio с VA — быстрая, удобная, но анализ кода слабоват. Ну и не бесплатная/не кроссплатформенная. Хотя последнее не принципиально.
Eclipse — тормознутый, монстроидальный, неудобный, но анализ кода, рефакторинг и т.п. хороши.
NetBeans — тормознутый, удобный (простой интерфейс), анализ кода и рефакторинг хороши.

В общем остановились на последнем и в принципе всем довольны (ну разве что ускорить его чуть, но это же Ява...).

Но как вы наверное заметили, я писал только о возможностях редактора, забыв про все остальные многочисленные возможности IDE. И это не случайной — для всех остальных задач у нас используются свои (не в смысле самописные, а в смысле неотносящиеся к IDE) инструменты, потому что они всегда оказывались лучше. Соответствено мы использует IDE просто как мощный редактор, что в принципе не сильно напрягает, но всё же... Вот я и подумал, а вдруг существует просто то что нам надо, без лишних сущностей? Т.е. именно редактор, а не IDE, но мощный.

Требования в общем то простые:
— простейший редактор типа Notepad++ с настройкой своих цветов для всех сущностей
— синтаксический анализ кода (для правильной подсветки и автодополнения): т.е. где-то должна быть настройка дефайнов и папок с библиотеками для парсинга
— навигация по коду (с построением дерева структуры файла в отдельном окошке, ну типа Class View)
— инструменты рефакторинга (желательно, не обязательно)

И всё. ) Вот интересно, существует ли что-то подобное в природе? Только подразумевается что это что-то, что можно скачать и просто использовать, а не хрень, которую ещё полгода затачивать.
Re: Нормальный редактор для C++ - существует ли?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 05.03.12 21:44
Оценка:
Здравствуйте, alex_public, Вы писали:

_>И всё. ) Вот интересно, существует ли что-то подобное в природе? Только подразумевается что это что-то, что можно скачать и просто использовать, а не хрень, которую ещё полгода затачивать.


Есть, SlickEdit. Кромм-платформенный настраемый, очень удобрый редактор и тыпы. Только, очень не бесплатный
Re[2]: Нормальный редактор для C++ - существует ли?
От: alex_public  
Дата: 06.03.12 00:58
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Есть, SlickEdit. Кромм-платформенный настраемый, очень удобрый редактор и тыпы. Только, очень не бесплатный


Эээм, я его посмотрел... Какой же это просто редактор... Это же монстр в лучших традициях Эклипса, только быстрый при этом. Но при этом глючащий в синтаксическом анализе C++.
Re: SourceInsight? (-)
От: ntp  
Дата: 06.03.12 01:00
Оценка:
Re[3]: Нормальный редактор для C++ - существует ли?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 06.03.12 01:16
Оценка:
Здравствуйте, alex_public, Вы писали:

_>Эээм, я его посмотрел... Какой же это просто редактор... Это же монстр в лучших традициях Эклипса, только быстрый при этом. Но при этом глючащий в синтаксическом анализе C++.


Плюсы он разбирает на порядок лучше эклипса. Твое пожелание разбора плюсов совсем уж просто редакторы из списка альтернатив исключает.
А так, я бы взял Vim+Cscope и не парился, но тебя же такой вариант врятли устроит.
Re: Нормальный редактор для C++ - существует ли?
От: qqqqq  
Дата: 06.03.12 01:38
Оценка:
А этот NetBeans совсем неплох в смысле навигации по коду. Я никогда его не видел до этого. Знал, что он есть, но думал он на Java и соответственно только для Java, а он оказывается и с C++ хорошо работает! Рекомендую. Не думаю, что slickedit также хорош. По крайней мере, он мне тоже не очень понравился. Из неназванных есть еще ultraedit, но он как бы просто редактор для широкого употребления. Для навигации по коду есть undestand C++, но он сильно платный и как бы не редактор.
Re[2]: SourceInsight? (-)
От: alex_public  
Дата: 06.03.12 01:43
Оценка:
Здравствуйте, ntp, Вы писали:

Попробовал SourceInsight. По назначению это именно то, что надо. Но к сожалению его возможностям анализа кода и дополнения далеко до Нетбинса...
Re[4]: Нормальный редактор для C++ - существует ли?
От: alex_public  
Дата: 06.03.12 01:50
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Плюсы он разбирает на порядок лучше эклипса.


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

KP>Твое пожелание разбора плюсов совсем уж просто редакторы из списка альтернатив исключает.


Ну как бы да. Из просто редакторов есть Notepad++ и Sublime Text 2 — большего и не надо. Но для серьёзных проектов этого маловато, хочется удобной помощи.

KP>А так, я бы взял Vim+Cscope и не парился, но тебя же такой вариант врятли устроит.


Эээм, это случаем не из серии "затачивать под себя пару лет и тогда можно работать"? ))) Если да, то видимо не устроит. А если же это можно скачать, настроить цвета, каталоги инклудов и сразу работать, то почему бы и нет...
Re[5]: Нормальный редактор для C++ - существует ли?
От: Kswapd Россия  
Дата: 06.03.12 06:32
Оценка:
_>это случаем не из серии "затачивать под себя пару лет и тогда можно работать"? ))) Если да, то видимо не устроит.

Именно так . Emacs такой же. Learning curve как Джомолунгма, но потом такой кайф...
Re: Нормальный редактор для C++ - существует ли?
От: FR  
Дата: 06.03.12 08:17
Оценка:
Здравствуйте, alex_public, Вы писали:

_>И всё. ) Вот интересно, существует ли что-то подобное в природе? Только подразумевается что это что-то, что можно скачать и просто использовать, а не хрень, которую ещё полгода затачивать.


CodeLite http://www.codelite.org/
CodeBlocks http://www.codeblocks.org/ (брать здесь так как релизы подолгу не обновляются).

Еще был http://www.bloodshed.net/devcpp.html но уже похоже заброшен.

Да и все это скорее класса легковесное IDE.
Re[6]: Нормальный редактор для C++ - существует ли?
От: alex_public  
Дата: 07.03.12 06:50
Оценка:
Здравствуйте, Kswapd, Вы писали:

_>>это случаем не из серии "затачивать под себя пару лет и тогда можно работать"? ))) Если да, то видимо не устроит.


K>Именно так . Emacs такой же. Learning curve как Джомолунгма, но потом такой кайф...


А в чём кайф то выкидывать столько времени на помойку? )
Re[2]: Нормальный редактор для C++ - существует ли?
От: alex_public  
Дата: 07.03.12 06:52
Оценка:
Здравствуйте, FR, Вы писали:

FR>CodeLite http://www.codelite.org/

FR>CodeBlocks http://www.codeblocks.org/ (брать здесь так как релизы подолгу не обновляются).

FR>Еще был http://www.bloodshed.net/devcpp.html но уже похоже заброшен.


FR>Да и все это скорее класса легковесное IDE.


Ага, я их пару лет назад смотрел. Тогда было впечатление как от visual studio 6.0 без VA. Т.е в принципе конечно это уже был успех для мира Линуха... Но с учётом того что мы ушли с VS 2005 в поисках лучшего, то точно не для нас. )))
Re[7]: Нормальный редактор для C++ - существует ли?
От: Kswapd Россия  
Дата: 07.03.12 10:54
Оценка:
_>А в чём кайф то выкидывать столько времени на помойку? )

Почему на помойку? Время тратится с удовольствием.
Re[8]: Нормальный редактор для C++ - существует ли?
От: alex_public  
Дата: 08.03.12 00:51
Оценка:
Здравствуйте, Kswapd, Вы писали:

K>Почему на помойку? Время тратится с удовольствием.


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

Ну да ладно. А вот мне интересно... Предположим я решился на такое, полностью погрузился в это дело и стал реальным гуру. ))) Вот сможет оно обеспечить мне после этого хотя бы возможности Netbeans'а?
Re[9]: Нормальный редактор для C++ - существует ли?
От: Kswapd Россия  
Дата: 08.03.12 10:38
Оценка:
_>Ну да ладно. А вот мне интересно... Предположим я решился на такое, полностью погрузился в это дело и стал реальным гуру. ))) Вот сможет оно обеспечить мне после этого хотя бы возможности Netbeans'а?

Может, нет, а может — да. Вероятно, ты рассматриваешь IDE как единую программу, которая умеет всё, что нужно. Я же предпочитаю другой угол зрения: Unix в целом есть IDE. Emacs — лишь интегрирующий компонент такой IDE: универсальный фронтенд к инструментам вроде svn, grep, gcc и проч. Windows не поощряет использование небольших инструментов, поэтому там такой подход может работать хуже.

На самом деле пользоваться Emacs можно начать сразу. Но для полноценной настройки под собственные нужды нужно освоить несколько нестандартных расширений, и главное, уметь писать свои — на ELisp. Emacs после настройки может радикально отличаться от дефолтного по субъективному удобству работы.

Я вышел на Emacs немного странным путём — через увлечение лиспом; показалось забавным поработать в редакторе, расширяемом скриптами на лиспе. Потом только вкурил, насколько красива и последовательна архитектура Emacs, и насколько неограниченны возможности расширения и адаптации под свои задачи. Emacs, по сути, виртуальная машина, в которой работает собственная OS.

Мне кажется, работать в IDE, которую можно освоить за несколько дней, как-то скучновато .
Re[10]: Нормальный редактор для C++ - существует ли?
От: alex_public  
Дата: 08.03.12 11:50
Оценка:
Здравствуйте, Kswapd, Вы писали:

K>Может, нет, а может — да. Вероятно, ты рассматриваешь IDE как единую программу, которая умеет всё, что нужно. Я же предпочитаю другой угол зрения: Unix в целом есть IDE. Emacs — лишь интегрирующий компонент такой IDE: универсальный фронтенд к инструментам вроде svn, grep, gcc и проч. Windows не поощряет использование небольших инструментов, поэтому там такой подход может работать хуже.


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

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

Такое возможно?

K>На самом деле пользоваться Emacs можно начать сразу. Но для полноценной настройки под собственные нужды нужно освоить несколько нестандартных расширений, и главное, уметь писать свои — на ELisp. Emacs после настройки может радикально отличаться от дефолтного по субъективному удобству работы.


Ну а что, за столько лет никто не смог создать некую готовую сборку скриптов под хотя бы самые известные языки?

K>Мне кажется, работать в IDE, которую можно освоить за несколько дней, как-то скучновато .


Совсем не скучно. ))) Мне просто лишняя функциональность в IDE мешает, вот и ищу именно редактор. А так, подход "скачал, включил и работает" мне вполне нравится. ))) А вот если такого варианта нет, то уже можно и попрограммировать скриптами... Но как вынужденная мера.
Re[11]: Нормальный редактор для C++ - существует ли?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 08.03.12 12:20
Оценка: 1 (1) +2
Здравствуйте, alex_public, Вы писали:

_>Я же вроде бы писал в этой теме, что мне как раз нужен редактор, а не IDE.

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

Редактор не знает о зависимостях, путям к инклюдам и прочей радости. Так же он редко умеет делать нормальную автоподстановку. То что ты описываешь это, все же, IDE.
Re: Нормальный редактор для C++ - существует ли?
От: Skorodum Россия  
Дата: 08.03.12 19:11
Оценка:
Здравствуйте, alex_public, Вы писали:

Посмотрите на
Clang + Qt Creator
под виндой наверное сложно запустить будет
Re[11]: Нормальный редактор для C++ - существует ли?
От: Kswapd Россия  
Дата: 08.03.12 20:56
Оценка:
_>Такое возможно?

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

Существует расширение, открывающее хедер C/C++ по #include — это удобно.

Интеллектуальное автодополнение (контекстное) доступно для многих языков (в первую очередь, конечно, для ELisp). Для C++ нормальное только с пакетом xrefactory: парсить C++ на чистом ELisp дорого, он медленный. Xrefactory http://www.xref.sk/xrefactory/main.html вообще прикольный проект. Он базируется на коммерческом парсере C++ и претендует на полную поддержку "intellisense". Хотя на практике обычный поиск в проекте через grep (разумеется, с выводом результата в окно Emacs, чтобы можно было прыгнуть в нужный файл в нужную строку) быстрее.

_>Ну а что, за столько лет никто не смог создать некую готовую сборку скриптов под хотя бы самые известные языки?


Есть, конечно. Много идёт в поставке, очень много ценного складывается на http://www.emacswiki.org . Существует поддержка буквально любого языка. Разного уровня. Подсветка синтаксиса есть всегда. Для многих интерпретируемых языков есть полноценная поддержка REPL (read-eval-print loop) для исполнения "на лету". Поддержка C++ очень развита. Есть GUI-фронтенд к gdb, например.

Тут дело в другом. Дефолтный набор клавиатурных биндингов нравится не всем. Я, например, создал свой (переопределить можно буквально любое действие). Хотя рекомендуют привыкать к дефолтному. Но на современных клавиатурах полно клавиш, которые можно задействовать, жалко оставлять их без работы . Только продумывать свои биндинги нужно тщательно, чтобы не нарушить стройную систему "подгрузки" биндингов расширений (их принято называть "modes").

_>Мне просто лишняя функциональность в IDE мешает, вот и ищу именно редактор.


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

Emacs имеет недостатки. Он однопоточный. Скрипты на ELisp медленные — парсинг проекта на C++ в пакете CEDET http://cedet.sourceforge.net , претендующим на создание мощной IDE, это ярко демонстрирует , большие проекты в нём неюзабельны. Но в нишу мощного редактора с элементами IDE Emacs вписывается идеально.
н
Re: Нормальный редактор для C++ - существует ли?
От: dad  
Дата: 09.03.12 08:33
Оценка: +1
gvim
или qtcreator
Веру-ю-у! В авиацию, в научную революци-ю-у, в механизацию сельского хозяйства, в космос и невесомость! Веру-ю-у! Ибо это объективно-о! (Шукшин)
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.