Re[12]: Нормальный редактор для C++ - существует ли?
От: alex_public  
Дата: 09.03.12 17:01
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Редактор не знает о зависимостях, путям к инклюдам и прочей радости. Так же он редко умеет делать нормальную автоподстановку. То что ты описываешь это, все же, IDE.


Да, обычный редактор не может — только созданные специально под C++ и т.п. Правда похоже таких нет в наличие...

А вот IDE — это уже заметно больше. Там и проекты и системы сборки и отладчики и контроль версий и контроль задач и взаимодействие с командкой... Вот всего этого нам не надо. Точнее надо, но оно уже есть, вне IDE/редактора.
Re[2]: Нормальный редактор для C++ - существует ли?
От: alex_public  
Дата: 09.03.12 17:05
Оценка:
Здравствуйте, Skorodum, Вы писали:

S>Здравствуйте, alex_public, Вы писали:


S>Посмотрите на

S>Clang + Qt Creator
S>под виндой наверное сложно запустить будет

О, интересно, не знал про такой проект. Просто Qt Creator я смотрел раньше. Правда у него редактор послабее VS (с VA) или Нетбинса, но не так уж сильно. А с учётом clang может быть даже сильнее будет — надо попробовать. Правда это всё равно IDE, а хочется просто редактор... Но если он окажется сильнее Нетбинса, то всё равно можно перейти.
Re[12]: Нормальный редактор для C++ - существует ли?
От: alex_public  
Дата: 09.03.12 17:12
Оценка:
Здравствуйте, Kswapd, Вы писали:

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


Ну такое то есть и в Notepad++ даже.

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


Бррррр, т.е. что бы воспользоваться нормальной фичей в open source проекте надо покупать недешёвую игрушку? Мдаааа....

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


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

K>Emacs имеет недостатки. Он однопоточный. Скрипты на ELisp медленные — парсинг проекта на C++ в пакете CEDET http://cedet.sourceforge.net , претендующим на создание мощной IDE, это ярко демонстрирует , большие проекты в нём неюзабельны. Но в нишу мощного редактора с элементами IDE Emacs вписывается идеально.


Мммм ну как бы мне пофиг сколько он там парсит мои библиотеки — это можно делать один раз (как VA) или же при открытие проекта (как netbeans). Главное что бы сама подсказка и подсветка не тормозили.

Так я не понял, CEDET этот может обеспечить некий аналог функций редактора Нетбинса или же нет? И возможно ли его просто скачать и включить или требуется многонедельная настройка?
Re[2]: Нормальный редактор для C++ - существует ли?
От: alex_public  
Дата: 09.03.12 17:13
Оценка:
Здравствуйте, dad, Вы писали:

dad>gvim

А он умеет синтаксический разбор исходников для подсветки и автодополнения?

dad>или qtcreator

Его вроде обсуждали тут уже, да и к тому же это IDE уже целая...
Re[13]: Нормальный редактор для C++ - существует ли?
От: Kswapd Россия  
Дата: 09.03.12 17:30
Оценка:
_>Бррррр, т.е. что бы воспользоваться нормальной фичей в open source проекте надо покупать недешёвую игрушку? Мдаааа....

Спокойствие, xrefactory как проект уже умер и не развивается .

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


Так может, поначалу и не понадобится писать сложные? У меня самое сложное — пара функций для прыганья из объявления функции в интерфейсе класса в реализацию и обратно .

_>Так я не понял, CEDET этот может обеспечить некий аналог функций редактора Нетбинса или же нет? И возможно ли его просто скачать и включить или требуется многонедельная настройка?


Ну не знаю насчёт многонедельной, а разбираться придётся изрядно. К счастью, мне CEDET не нужен.
Re: Нормальный редактор для C++ - существует ли?
От: PSV100  
Дата: 10.03.12 13:50
Оценка:
Можно ещё JEdit глянуть. Сейчас им мало кто пользуется, но, имхо, зря. Он на джаве, но на порядки легче и быстрее эклипсов с нетбинсами. Редактор мощный, по духу близок к эмаксу, но с более привычным управлением, хорошая альтернатива для Sublime Text (с некоторыми плагинами и макросами имеет фактически все основные плюшки от Sublime/TextMate, а местами и приятнее их, при этом JEdit гораздо функциональнее, свою полноценную IDE можно запилить). Хорошо расширяется, но в целом для него гараздо меньше наваяли скриптов/плагинов, чем для вима или эмакса (с другой стороны, можно быстрее всякого попробовать и настроить редактор под себя).
Но как он будет жить с парсингом кода на С++ — фиг его знает, так я его не гонял. Теоретически есть плагины для работы с cscope, ctags и т.п., думаю, что будет также, как и в виме/эмаксе.
Re: Нормальный редактор для C++ - существует ли?
От: Аноним  
Дата: 10.03.12 14:38
Оценка:
Здравствуйте, alex_public, Вы писали:

_>Eclipse — тормознутый, монстроидальный, неудобный, но анализ кода, рефакторинг и т.п. хороши.


Эклипс — тормознутый?! Компьютер апгрейдить не пробовали? По-моему, эклипс быстрее, чем Visual Studio работает. Ну и насчет "неудобный" я бы поспорил. Там есть несколько оригинальных и несколько «долбанутых» моментов в юзабилити, но в некоторых вещах он удобнее Visual Studio.

Eclipse, на мой взгляд, — весьма достойная IDE. Я сам долгое время кроме Visual Studio ничего не признавал, но попробовал Eclipse и был приятно удивлен.

А NetBeans — да, тормознутый, хотя и мощный и довольно удобный, но и «тормознутость» его на нормальном железе некритична.
Re[2]: Нормальный редактор для C++ - существует ли?
От: Kswapd Россия  
Дата: 10.03.12 14:57
Оценка:
А>По-моему, эклипс быстрее, чем Visual Studio работает. Ну и насчет "неудобный" я бы поспорил.

В последний раз, когда я пробовал Eclipse, он не поддерживал клавиатурных макросов. Как сейчас с этим?
Re[5]: Нормальный редактор для C++ - существует ли?
От: Olej Украина  
Дата: 10.03.12 16:10
Оценка:
Здравствуйте, alex_public, Вы писали:

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


Geany — http://www.geany.org/
Re[3]: Нормальный редактор для C++ - существует ли?
От: dad  
Дата: 10.03.12 18:48
Оценка:
Здравствуйте, alex_public, Вы писали:

_>Здравствуйте, dad, Вы писали:


dad>>gvim

_>А он умеет синтаксический разбор исходников для подсветки и автодополнения?


конечно умеет. только надо шаманить. если шаманить лень, то для ознакомления
можно поиспользовать редакцию cream

dad>>или qtcreator

_>Его вроде обсуждали тут уже, да и к тому же это IDE уже целая...

я использую как редактор. но, конечно, если не нужен qt то великоват дистрибтутив. в остальном — никаких проблем.
Веру-ю-у! В авиацию, в научную революци-ю-у, в механизацию сельского хозяйства, в космос и невесомость! Веру-ю-у! Ибо это объективно-о! (Шукшин)
Re[4]: Нормальный редактор для C++ - существует ли?
От: Kswapd Россия  
Дата: 10.03.12 18:53
Оценка:
dad>gvim

Рекомендуя VIM, надо предупреждать о его фиче — немонотонном (модальном) интерфейсе. Не всякому такое по душе. Подробности — в книге Раскина "Интерфейс".
Re[2]: Нормальный редактор для C++ - существует ли?
От: alex_public  
Дата: 11.03.12 17:50
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Эклипс — тормознутый?! Компьютер апгрейдить не пробовали? По-моему, эклипс быстрее, чем Visual Studio работает.


Тормознутый не в смысле невозможно работать, а в сравнение с другими инструментами со сходной функциональностью. Скажем его анализатор кода уступает по скорости VA намного. Да и вообще микрозадержки везде видны если параллельно работать с другими инструментами. У Нетбинса не лучше кстати.

А>Ну и насчет "неудобный" я бы поспорил. Там есть несколько оригинальных и несколько «долбанутых» моментов в юзабилити, но в некоторых вещах он удобнее Visual Studio.


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

А>Eclipse, на мой взгляд, — весьма достойная IDE. Я сам долгое время кроме Visual Studio ничего не признавал, но попробовал Eclipse и был приятно удивлен.


Я бы признал его первым только в одной области — по количеству доступных фич. Но до удобства этому далеко...

А>А NetBeans — да, тормознутый, хотя и мощный и довольно удобный, но и «тормознутость» его на нормальном железе некритична.


Собственно мы на нём и остановились после долгих поисков. Но всё равно это не идеал, а только компромис. )
Re[6]: Нормальный редактор для C++ - существует ли?
От: alex_public  
Дата: 11.03.12 17:51
Оценка:
Здравствуйте, Olej, Вы писали:

O>Geany — http://www.geany.org/


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

PSV>Можно ещё JEdit глянуть. Сейчас им мало кто пользуется, но, имхо, зря. Он на джаве, но на порядки легче и быстрее эклипсов с нетбинсами. Редактор мощный, по духу близок к эмаксу, но с более привычным управлением, хорошая альтернатива для Sublime Text (с некоторыми плагинами и макросами имеет фактически все основные плюшки от Sublime/TextMate, а местами и приятнее их, при этом JEdit гораздо функциональнее, свою полноценную IDE можно запилить). Хорошо расширяется, но в целом для него гараздо меньше наваяли скриптов/плагинов, чем для вима или эмакса (с другой стороны, можно быстрее всякого попробовать и настроить редактор под себя).

PSV>Но как он будет жить с парсингом кода на С++ — фиг его знает, так я его не гонял. Теоретически есть плагины для работы с cscope, ctags и т.п., думаю, что будет также, как и в виме/эмаксе.

Мне вот всегда казалось что скриптами можно расширять какие-то мелкие частные фичи. А что-то глобальное, типа автодополнения или подсветки должно быть встроено. Не представляю как такое можно расширить скриптом — это же как написать свой редактор с нуля. )))
Re[4]: Нормальный редактор для C++ - существует ли?
От: alex_public  
Дата: 11.03.12 18:06
Оценка:
Здравствуйте, dad, Вы писали:

dad>конечно умеет. только надо шаманить. если шаманить лень, то для ознакомления

dad>можно поиспользовать редакцию cream

Ммм, т.е. есть некий дистрибутив где можно настроить только цвета и директории библиотек и всё будет работать?
Re: Нормальный редактор для C++ - существует ли?
От: alex_public  
Дата: 11.03.12 18:15
Оценка:
Кстати, полазил тут по инету сам и нашёл очень интересный вариант.

Этот http://www.zeusedit.com

Правда сразу два минуса (для всех) — не кроссплатформенный и платный. Но для нас это не принципиально. И один минус для нас — там всё же не удержались и насовали кучу функций, так что по сути полноценная IDE там, а не просто редактор.

А из плюсов: самый быстрый редактор с синтаксическим анализом, который я видел. Заметно быстрее даже VS+VA, про Eclipse и Netbeans вообще молчу. И при этом без проблем и корректно справился с моими большими и сложными библиотеками. Просто супер в этом смысле.

И ещё там модная функция нашлась. Поиск по chm файлам из редактора. Т.е. я сразу добавил туда chm от разных библиотек — очень удобно.

Пойду поковыряю его дальше. Хотя опять же это не то что мы искали, т.к. там тоже горы ненужного и кривых настроек. Но похоже он может быть поудобнее Нетбинса. Во всяком случае побыстрее уж точно.
Re[5]: Нормальный редактор для C++ - существует ли?
От: dad  
Дата: 11.03.12 20:32
Оценка:
dad>>конечно умеет. только надо шаманить. если шаманить лень, то для ознакомления
dad>>можно поиспользовать редакцию cream

_>Ммм, т.е. есть некий дистрибутив где можно настроить только цвета и директории библиотек и всё будет работать?



консольный vim настраиваемый и ополняемый плагинами редактор.
подсветка синтаксиса, разбор кода, закладки, буферы, и тд
все есть.
есть графическая реализация gvim
есть сборка "настроек" cream адаптированная под привычный
принцип редактирования. я некоторое время игрался с ней,
пока не перешел на gvim.
http://cream.sourceforge.net/
но в конце концов, как человек травмированный виндой, все-таки сполз
на qtcreator. сказались несколько проектов на qt на протяжении нескольких лет.
он не такое уж ide. ненужные плагины (редакторы диалогов, сценариев, и тд)
можно выключить. как редактор c++ — очень удобный для виндузятника.
Веру-ю-у! В авиацию, в научную революци-ю-у, в механизацию сельского хозяйства, в космос и невесомость! Веру-ю-у! Ибо это объективно-о! (Шукшин)
Re[2]: Нормальный редактор для C++ - существует ли?
От: jazzer Россия Skype: enerjazzer
Дата: 12.03.12 03:40
Оценка:
Здравствуйте, alex_public, Вы писали:

_>Этот http://www.zeusedit.com

_>А из плюсов: самый быстрый редактор с синтаксическим анализом, который я видел
У него там то же самый ctags
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[3]: Нормальный редактор для C++ - существует ли?
От: PSV100  
Дата: 12.03.12 11:26
Оценка:
Здравствуйте, alex_public, Вы писали:

_>Здравствуйте, PSV100, Вы писали:


PSV>>Можно ещё JEdit глянуть. Сейчас им мало кто пользуется, но, имхо, зря. Он на джаве, но на порядки легче и быстрее эклипсов с нетбинсами. Редактор мощный, по духу близок к эмаксу, но с более привычным управлением, хорошая альтернатива для Sublime Text (с некоторыми плагинами и макросами имеет фактически все основные плюшки от Sublime/TextMate, а местами и приятнее их, при этом JEdit гораздо функциональнее, свою полноценную IDE можно запилить). Хорошо расширяется, но в целом для него гараздо меньше наваяли скриптов/плагинов, чем для вима или эмакса (с другой стороны, можно быстрее всякого попробовать и настроить редактор под себя).

PSV>>Но как он будет жить с парсингом кода на С++ — фиг его знает, так я его не гонял. Теоретически есть плагины для работы с cscope, ctags и т.п., думаю, что будет также, как и в виме/эмаксе.

_>Мне вот всегда казалось что скриптами можно расширять какие-то мелкие частные фичи. А что-то глобальное, типа автодополнения или подсветки должно быть встроено. Не представляю как такое можно расширить скриптом — это же как написать свой редактор с нуля. )))


Не понял, о чём конкретно речь. Да, в JEdit можно писать свои лёгкие скрипты/макросы (которые могут много чего на самом деле), а также в нём обширное API для расширений. Из коробки он от блокнота недалеко ушёл, но плагинами он расширяется фактически до уровня эклипса, где будет и всякий разный автокомплит (кроме стандартного), и броузеры/структуры кода, и всякие консоли, и списки ошибок, to-do листы, и управление проектами, и SQL-базы и т.д и т.п. (если есть потребность, смогу подсказать, на что стоит обратить внимание), при этом нет монстро-страшизма уровня эклипса, всё на порядок проще и легче, и удобнее, и разбираться там особо нечего.
Также есть там и парсеры кода, для java, xml, haXe и др. Но для С++ похоже так и не реализовали, хотя какие-то попытки были. Сейчас есть интерфейс для ctags, cscope, gnu global, gdb, lint и др.

И, имхо, навряд ли получится найти альтернативу для популярных монстров-IDE в плане качественного парсинга C++-кода. В этом их пока основной козырь, и, как по мне, единственная целесообразность их использования.

А вообще, у меня есть подозрение, возможно я ошибаюсь, но похоже у тебя неполная "прокачка" профитов от использования программистких редакторов. Обычно в виме/эмаксе и им подобным от отсутствия того же мощного контекстного автокомплита особо не страдают. Быстрое (!!!) автодополнение из уже введенных слов в текущем буфере, а также и из других буферов (выбираемых по определенным правилам) плюс некоторые списки предопределенных идентификаторов — на практике вполне удобная техника. К тому же, там сам по себе удобный текстовый редактор (в большинстве IDE редакторы хромают), где будет и множественное выделение, и удобная работа с буфером обмена и с undo/redo (и не только для текста), удобное перемещение по тексту, мощные шаблоны кода, умные дополнялки, удалялки, выравнивалки текста и т.д. При этом есть мощные и гибкие средства для реализаций операций над текстом, нужные именно тебе для своих потребностей. Всё это помножено реально удобной средой для управления всем этим делом. А такие вещи, как EasyMotion в виме (быстрое перемещение по тексту в стиле вимператора для firefox), или rainbow-mode в эмаксе (подсветка в коде цветовых констант в соответствие с их значениями) и т.п., особенно когда в совокупности таких вещей не мало — вроде ничего серьёзного на первый взгляд, но "подсаживает" конкретно, и подобных вещей в монстрах-IDE редко встретишь. Конечно, приятно, когда к этому есть ещё и хороший парсинг кода. Например, многие лисперы свой slime на эмаксе навряд ли на что-то променяют.

И по поводу редакторов, сугубо моё личное имхо, без никаких претензий на истинность последних инстанций. Если нужен редактор для более серьёзной работы, чем просто небольшая правка текста на уровне блокнота, то сегодня лучше смотреть на:

— вим/эмакс по вкусу — это классика, где уже реализовано столько расширений, что фактически можно быть в вечном поиске нирваны, бесконечно совершенствуя свою среду для работы (именно эта магия и притягивает многих). Обратная сторона медали: тяжеловато осваиваются и требуется привыкание, особенно в виме с его разными режимами работы. Лично я с ними тяжеловато уживаюсь и редко их использую: основная разработка вынужденно ведется в монстрах-IDE плюс специфичный софт, когда постоянно переключаешься из одной привычной среды в другую, то не успеваешь перестраиваться, путаешься в клавишах, реально раздражает. Не везде и всегда получается эмулировать вим/эмакс. Теоретически можно перенастроить вим/эмакс на свой лад, но на практике это геморно, необходимо учитывать немало нюансов (проект cream — альтернативная конфигурация вима — не просто так появился), да и если попеределовать азы вима/эмакса, то фактически это уже будет не вим/эмакс.

— JEdit — проект не умер, сейчас пилят его и для него совсем мало народу, особенно на фоне вима/эмакса, но это реальная серьёзная альтернатива для них. Простой, лёгкий, но мощный, местами удобнее и мощнее вима/эмакса, но не во всём.

— Sublime Text 2 — редактор платный и не ясно, что там будет с триалами после релиза. Сейчас он менее функционален, но его базовый арсенал реализован весьма приятно. Пилят его довольно активно, вроде уже народ ломанулся ваять всякие плагины, потенциал есть. Ему бы заменить и добавить некоторый функционал от JEdit-а, пару вещей передрать из эмакса (например, удобный минибуфер/командная строка с автокомплитом для команд/макросов с их параметрами, поддержка не только текстовых режимов внутри буфера, т.е. нечто подобное wiki-режимов, и др.) — получилось бы бомбовая конфетка.

Остальные редакторы (возможно, за исключением специализированных, как Coda, Espresso на маках для веб-вёрстки), как правило, менее функциональны и менее удобны в использовании, включая и пользовательский интерфейс, вряд ли дадут таких профитов и оправдают инвестиции в себя, вместе с потраченным временем на освоение.
Re[3]: Нормальный редактор для C++ - существует ли?
От: alex_public  
Дата: 12.03.12 12:12
Оценка:
Здравствуйте, jazzer, Вы писали:

J>У него там то же самый ctags


В каком смысле тот же самый? ) Ну и кстати ctags же только создаёт базу. А вот как в ней искать... Т.е. в этой области важен именно момент подсказки (бесит когда тормозит тут), а парсить исходники оно сколько угодно может, не жалко)))
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.