LINUX.ORG.RU

Emacs для C++


0

0

Какие дополнения для Emacs вы используете для кодинга на C++?
Очень не хватает возможностей совремнных IDE, но это так, к слову...

anonymous

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

intelliSense, упорядоченная работа с code snippets, подсветка опечаток еще до компиляции, pre-compiled headers(не совсем к emacs, но все же), рефакторинг(переименование переменных/функций/классов, изменение порядка аргументов функции, и т. д.), нормальная работа с отладчиком(сюда входит не только базовые возможности, которые были еще в старых dos"овских отладчиках, а и разные удобства), наконец, работа с проектом, в том числе автоматическое ведение Makefile.(для економии времени)

anonymous
()

Забавно, что за все время существования темы никто по теме дополнений Emacs для кодинга на C++ так и не высказался...

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

А уле тут высказываться. То, что есть, - ecb или как его там - критики не выдерживает. Работает медленно и неправильно. На продуктивности не практически сказывается.

anonymous
()

Xrefactory вам не подойдет?

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

Да не удивлюсь, мне тоже хватает, когда под Linux сижу. Речь о том что MSVS - удобнее.

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

Тем, кто без визуалассиста даже в vs работать не может, простых истин не понять, что код пишет человек, а не редактор.

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

> Забавно, что за все время существования темы никто по теме дополнений Emacs для кодинга на C++ так и не высказался...

Xrefactory/c++ работает так, как одному из анонимусов надо. Только медленно и за деньги.

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

>Тем, кто без визуалассиста даже в vs работать не может, простых истин не понять, что код пишет человек, а не редактор.

Конечно! Если так, то какая тебе разница, где писать - в емаксе или нотепэд.ехе?

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

слушайте, вы тут все ругаетесь, а лучше бы подсказали: что вообще можно выжать из emacs для разработки на c++? доков бы к тебе подкинули, почитать чего.

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

а кто-нибудь РЕАЛЬНО использовал emacs для разработки? тут только надо понимать, что я говорю про разработку в трех видах:

1) коммерческая; 2) хобби-образная; 3) научная.

если да, использовал, то для какой из этих?

jet_bird
()

Предлагаю убрать анонимусов, ибо только они позволяют себе мат и хамство.

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

>Не совсем понял, что значит 3), но в 1) и 2) использую.

научная в смысле где-нить в закрытой госконторе, либо в НИИ и т.п.

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

> Конечно! Если так, то какая тебе разница, где писать - в емаксе или нотепэд.ехе?

Emacs запускается везде, в отличие от ноутпада. А так - никакой разницы. Я даже без подсветки синтаксиса и форматирования могу писать :)

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

> 1) коммерческая; 2) хобби-образная; 3) научная.

> если да, использовал, то для какой из этих?

На работе - коммерческая, дома - хобби-образная. Из науки я ушёл и переехал в другой город :)

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

> научная в смысле где-нить в закрытой госконторе, либо в НИИ и т.п.

А коммерческие структуры - уже не работа?

mv ★★★★★
()

У нас на работе некоторые правят и изучают исходники на C в имаксе, который открыт в окошке VNC. При этом если уж нужно запустить отладчик под виндой пользуются VS. Я пальзуюсь vim, потому что мне нравятся возможности редактирования, кастомизации, навигации по исходникам(сравнивали я нахожу нужный код с помощью тегов быстрее, чем народ с помощью VA) + вим работает почти на любых платформах, включая экзотику и имеет очень удобные оконные представления. Кроме того vim запросто стартует в ssh сессии даже на медленном канале(в отличие от Emacs). У нас тут так же есть любители кастомайзить студию:), но под линуксом они матерятся и юзают emacs.

Вообще C\C++ языки разрабатывались для использования в классической среде програмирования UNIX(хотя в последней редакции Страцструп пишет про развитие инструментальных средств) и IDE под них получаются убогие:

1) Интелектуальные подстановки. Для C++, а особенно C приемлемо работают в самых простых случаях. Если активно используются шаблоны или препроцессор у тегогенераторов крышу сносит буть-то VisualAssist или ctags или scope. Я иногда использую omnicppcompete (интелектуальные подстановки в vim), но на практике удобнее использовать подстановки из тегов или ранее-набранного, без привязки к контексту. 2) Рефакторинг. Активное использование шаблонов, препроцессора и альтернативных веток кода под разными дефайнами обламывают автоматические тулзы. Использование рефакторинга в C\C++ как правило признак очень сильной кривизны рук. 3) Пректы. По мне так внешняя сборка удобнее. Будь-то консольный сборщик или IDE открытая где-то сзади. Консольный сборщик удобнее тем, что проще организовать навигацию по ошибкам в vim или emacs. (Но это не аргумент) 4) Отладчик. Вообще возможности отладчиков часто преувеличивают. Зачатсую есть более удобные способы оладки(например трассировка и протоколы). emacs хорошо интегрирован с gdb. Хотя запускать gdb в консоли, тоже весьма удобно(если нужно много степиться можно поднять tui комбинацией клавишь). А для поиска перепилов гуй по мне так вообще не нужен и не удобен(особенно если нельзя команду ввести:)) Ну и никто не мешает отлаживаться в студии, если конечно он запускается на этой платформе. 5) Хороший текстовый редактор одинаково удобен для набивания любых тектов и навигации по практически любому коду, на любых языках. VS этим похвастаться не может. Ну и например в ней нет встроенного просмотрщика diff:)

В общем вывод иногда IDE могут быть полезны, но они далеко не панацея и зачатую просто раздражают. Умение работать с легким и удобным тектовым редактором по мне так очень сильно облегчает жизнь, особенно если работать приходится в гетергенных средах. А в vim и emacs возможности правки исходников отточеный годами и они зачастую удобнее всяких мегакрутых и зачатсую дорогих IDE

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

Я использую linux+vim+gdb для разработки небольших шароварных игрушек (порядка 1Мб кода). Проект компилится и в linux и под Windows.

На одной и той-же машине скорость компиляции отличается (весь проект) в 2-3 раза (linux быстрее).

Перед linux сидел на Windows+MSVS(6-7)+Ассистент несколько лет.

В общем - согласен с предыдущим постом (vgudkov) - если он еще предыдущий и не влез очередной ...удак с навороченными пальцами - во многом разработка стала удобней. gdb отлично интегрируется в vim (gdbvim.vim) + я очень привязался к печати отладочной информации в консоль (на студии я уже тоже так могу делать - но тогда, под виндой, этого очень не хватало), теги - просто сказка - быстро, четко, нет раздражающих windows-лагов (небольших задержек - у меня довольно старая машина).

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

По поводу скомпилированных заголовков - в линуксе есть вещь намного лучше - ccache - попробуй - очень сильно ускоряет работу.

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

> По поводу скомпилированных заголовков - в линуксе есть вещь намного лучше - ccache - попробуй - очень сильно ускоряет работу.

Поробовал работает. Теперь собирается заметно быстрее.

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

> а кто-нибудь РЕАЛЬНО использовал emacs для разработки?

Контора на три сотни одних только разработчиков. Софт такой, что одна лицензия на одно рабочее на год стоит несколько десятков тысяч долларов. Много миллионов строк кода на Fortran и C++. Разработка идёт в основном в vim и emacs. Не-профессионалов контора не держит. Или это не тянет на серьёзную коммерческую разработку? :)

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

>Контора на три сотни одних только разработчиков. Софт такой, что одна лицензия на одно рабочее на год стоит несколько десятков тысяч долларов. Много миллионов строк кода на Fortran и C++. Разработка идёт в основном в vim и emacs. Не-профессионалов контора не держит. Или это не тянет на серьёзную коммерческую разработку? :)

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

P.S. Я вот лично только из этого флейма узнал про существование ecb!

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

> круто! А какие тулзы для них обычно используют?

Никакие дополнительные тулзы не приживаются, но есть много местных, самописных скриптов и мод. Проект слишком сложный, слишком много легаси, всё сильно завязано на несколько доморощенных препроцессоров (как для Фортрана, так и для C++ и для связки их промеж собой). В качестве системы контроля версий - ClearCase, build tool, соответственно, ClearMake. Вся разработка под вендой. msvs есть у каждого разработчика - но используется из неё только компилятор. Новички какое-то время пытаются пользоваться привычной msvs, но потом просят научить их использовать vim или emacs.

> Я так понимаю, все в конвейерном режиме давно устроено с постепенным включением новых фич.

Бывают и весьма заметные переписывания больших кусков кода...

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

Вопрос можно?Это не САПР случаем один крутой?

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

>Забавно, что за все время существования темы никто по теме дополнений Emacs для кодинга на C++ так и не высказался...

А чего тут высказываться? ecb - как браузер директории и символов текущего файла, плюс история редактирования + xref - переход к определению символа, использование символа, рефакторинг. Дружелюбной интеграции с отладчиком в emacs не хватает - это факт.

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

> Дружелюбной интеграции с отладчиком в emacs не хватает - это факт.

Что такое "дружелюбная интеграция", и почему в emacs (22) её нет? Идеологически всё то же самое, что и в vs: отдельные окна на исходник, стэк, машинный код, watches, потоки и т.п. Что не так?

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