Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.84/25: Рейтинг темы: голосов - 25, средняя оценка - 4.84
 Аватар для Goongala
1022 / 562 / 185
Регистрация: 18.08.2013
Сообщений: 2,027
Записей в блоге: 2

Среда программирования Emacs

18.08.2013, 18:02. Показов 5371. Ответов 31
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброе время суток. Я не давно начал изучать программирование на языке С++ и стараюсь писать длинные и сложные программы, но в таких программах как Microsoft Visual C++, Code Blocks и других, мне не удобно работать, решил перейти на Emacs, но не могу понять как там компилировать, нужно создать какой-то make файл, если есть такой добрый человек который знает как это сделать, прошу объяснить или ссылку там скинуть
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.08.2013, 18:02
Ответы с готовыми решениями:

Среда программирования
Ребята, 2 месяца учил С++ на Visual Studio, сейчас надо резко перейти на C++ Bilder. Скажите пожалуйста, стиль кода сильно отличается? А то...

Среда программирования.
Здравствуйте. Подскажите, что за среда программирования изображена на скриншотах?

Среда программирования
Какая среда программирования бесплатная, т.е. не взломанная, а чисто бесплатная...

31
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,038
Записей в блоге: 1
19.08.2013, 15:45
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от kvadro Посмотреть сообщение
emacs это кроссплатформенно
Code::Blocks тоже
0
127 / 131 / 11
Регистрация: 25.12.2011
Сообщений: 443
19.08.2013, 16:02
Цитата Сообщение от Gungala Посмотреть сообщение
но в emacs'е работать удобней - его можно полностью под себя настроить и благодаря этому процесс написания программы становится быстрее
Сколько раз уже видел эту фразу про "его можно полностью под себя настроить", но как только доходит до вопросов по настройке самой базовой функциональности вроде подсветки кода и навигации по коду - никаких работающих решений не приводится. Про настройку работы с отладчиком, чтобы было также удобно пользоваться как в MSVC, вообще обычно сразу пишут, что отладчик не нужен и удобная интеграция с ним тем более.

Есть здесь на форуме гуру Emacs, которые помогут настроить эти базовые вещи, необходимые для работы над с++ проектами?

Самые простые вопросы по настройке Emacs:
  1. как настроить навигацию по С++ коду?
  2. как настроить семантическую расцветку кода?
  3. как сделать так, чтобы символ под курсором можно было подсветить во всем буфере?

Под 1 имеется ввиду корректная навигация с полным учетом семантики языка, т.е. всякие примитивные вещи вроде ctags не подходят. Шаблоны/макросы/перегрузки должны учитываться, и переход к определению символа из места его использования должен просто работать. Также под навигацией имеется ввиду и поиск references (мест использования символа) с учетом семантики, т.е. find-grep здесь явно не подходит.

В пункте 2 нужна возможность задавать разный текстовый стиль для разных семантических элементов. Например, разные стили для локальных переменных и членов класса. Для static элементов мне нужен курсив, для виртуальных функций также свой стиль.

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

Как мне "полностью под себя настроить" Emacs?
0
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
19.08.2013, 16:04
Цитата Сообщение от kamre Посмотреть сообщение
Про настройку работы с отладчиком, чтобы было также удобно пользоваться как в MSVC, вообще обычно сразу пишут, что отладчик не нужен и удобная интеграция с ним тем более.
чем gdb mode не нравится?
Цитата Сообщение от kamre Посмотреть сообщение
вроде подсветки кода
чем минор моды, которые собсно и обеспечивают подсветку не подходят
Цитата Сообщение от kamre Посмотреть сообщение
Также под навигацией имеется ввиду и поиск references (мест использования символа) с учетом семантики, т.е. find-grep здесь явно не подходит.
ecb/ebrowse/ctags/etags/gtags/cscope итд
0
127 / 131 / 11
Регистрация: 25.12.2011
Сообщений: 443
19.08.2013, 16:45
Цитата Сообщение от alex_x_x Посмотреть сообщение
чем gdb mode не нравится?
А как в нем смотреть сложные вложенные структуры данных? Вроде таких или таких.

Цитата Сообщение от alex_x_x Посмотреть сообщение
чем минор моды, которые собсно и обеспечивают подсветку не подходят
Не подходят тем, что не позволяют мне настроить так, как я это описал выше. Если позволяют, то расскажите как их нужно настроить для C++, может быть я чего-то упускаю.

Цитата Сообщение от alex_x_x Посмотреть сообщение
ecb/ebrowse/ctags/etags/gtags/cscope итд
Ни какой из этих инструментов не учитывает семантику языка C++. Или же расскажите как их нужно настроить для C++, может быть я чего-то упускаю.

P.S. Набор всех этих инструментов и "костылей", которые можно прикрутить к emacs я вроде знаю. Но как с ними заставить emacs делать то, что мне нужно, не понимаю и документации с пошаговой настройкой в интернете не нахожу...
0
Эксперт С++
 Аватар для fasked
5045 / 2624 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 5
19.08.2013, 17:02
Цитата Сообщение от kamre Посмотреть сообщение
А как в нем смотреть сложные вложенные структуры данных? Вроде таких или таких.
Если честно, то мне за свой опыт редко приходится настолько "плотно" работать с отладчиком. А в особо тяжелых случаях проблема редко бывает связана со "сложными структурами данных". То есть в простых случаях хватает обычного print в консоли. В тяжелых не хватает только отладчика в принципе.
Я это к тому, что на практике высказывания в духе "в MSVC самый крутой дебаггер и хз как на линуксе без него программировать вообще" произносят быдлокодеры, которые невнимательно пишут код, а позже из-за этой невнимательности часами просиживают с отладчиком. И да, я не спорю, что в MSVC самый крутой отладчик, но его возможности в 99% случаев не нужны. И это не говоря про то, что TDD еще больше уменьшает необходимость отладчика.
Цитата Сообщение от kamre Посмотреть сообщение
Ни какой из этих инструментов не учитывает семантику языка C++. Или же расскажите как их нужно настроить для C++, может быть я чего-то упускаю.
Программирование через Ctrl+Space, конечно, весьма занимательное занятие, но опять же, что еще нужно кроме банального автокомплита и сниппетов для продуктивной работы?
Единственное, что приходит в голову, так это какие-нибудь средства рефакторинга - в духе переименования класса или публичной функции. Тот рефакторинг, что распространяется на весь проект, а не локальную область видимости. В подобных случаях, простые редакторы, конечно, проигрывают IDE, но это уже другая история.
0
127 / 131 / 11
Регистрация: 25.12.2011
Сообщений: 443
19.08.2013, 17:17
Цитата Сообщение от fasked Посмотреть сообщение
Я это к тому, что на практике высказывания в духе "в MSVC самый крутой дебаггер и хз как на линуксе без него программировать вообще" произносят быдлокодеры, которые невнимательно пишут код, а позже из-за этой невнимательности часами просиживают с отладчиком.
Вот уже и песни про не нужность отладчика и быдлокодеров начались Мне также не часто нужны возможности отладчика в MSVC, но когда я решил залезть в чужой код с отладчиком, то мне нужны все удобства MSVC, которых я не нахожу в Emacs/консоли.

Цитата Сообщение от fasked Посмотреть сообщение
Программирование через Ctrl+Space, конечно, весьма занимательное занятие, но опять же, что еще нужно кроме банального автокомплита и сниппетов для продуктивной работы?
А причем здесь "программирование через Ctrl+Space"? Я вообще ничего не спрашивал про то, как настраивать intellisense в Emacs (худо-бедно решается через внешний "костыль" clang_complete), мне в первую очередь нужна удобная навигация по коду и хорошая семантическая подсветка. А в Emacs для C++ я этого не нахожу. Когда приходится работать с огромной кодовой базой, написанной кучей людей, и разбираться со связями между разными частями кода, удобная навигация позволяет гораздо эффективнее всем этим заниматься.

Цитата Сообщение от fasked Посмотреть сообщение
это уже другая история
Вот можно подробнее про другую историю, особенно с учетом фразы "его можно полностью под себя настроить"?
0
Эксперт С++
 Аватар для fasked
5045 / 2624 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 5
19.08.2013, 17:30
Цитата Сообщение от kamre Посмотреть сообщение
Вот уже и песни про не нужность отладчика и быдлокодеров начались
Это не песня, а жизненное наблюдение, и ничего личного в этом не было.
Цитата Сообщение от kamre Посмотреть сообщение
но когда я решил залезть в чужой код с отладчиком, то мне нужны все удобства MSVC, которых я не нахожу в Emacs/консоли
Согласен, чужой плохой код часто является причиной головной боли. Но тут можно задуматься о том, почему подобный код вообще попадает "в продакшн".
Цитата Сообщение от kamre Посмотреть сообщение
Когда приходится работать с огромной кодовой базой, написанной кучей людей, и разбираться со связями между разными частями кода, удобная навигация позволяет гораздо эффективнее всем этим заниматься
В первую очередь помогать должно понимание архитектуры проекта, а не удобная навигация. В хорошем проекте после прочтения high level design интуитивно становится ясно куда и зачем ходить.
Цитата Сообщение от kamre Посмотреть сообщение
Вот можно подробнее про другую историю, особенно с учетом фразы "его можно полностью под себя настроить"?
Заметьте, не я это предложил сказал. Я вообще emacs не переношу.
Однако мне доводилось править код в таких местах, куда не то, что MSVS не встанет в силу используемой платформы, а вообще какой-либо GUI отсутствует. Поэтому консольный инструментарий совсем отвергать нельзя.
0
127 / 131 / 11
Регистрация: 25.12.2011
Сообщений: 443
19.08.2013, 17:45
Цитата Сообщение от fasked Посмотреть сообщение
Согласен, чужой плохой код часто является причиной головной боли. Но тут можно задуматься о том, почему подобный код вообще попадает "в продакшн".
Попадает скорее всего потому, что как-то да работает, текущие задачи решает. А предложение выбросить 10-20Мб исходников и переписать их так, чтобы все было идеально, на работе не воспримут серьезно. Поэтому приходится работать с тем, что есть и стараться делать это максимально эффективными средствами.

Цитата Сообщение от fasked Посмотреть сообщение
В хорошем проекте после прочтения high level design интуитивно становится ясно куда и зачем ходить.
А в идеальном проекте вообще все идеально. Не всегда имеется такая документация по "high level design", особенно в актуальном виде и со всеми деталями.

Цитата Сообщение от fasked Посмотреть сообщение
Я вообще emacs не переношу.
Как текстовый редактор он вполне нормальный, но если мне нужно будет редактировать текст, а не код на языке программирования, то я лучше возьму что-то попроще, например, Sublime.

P.S. хотелось бы больше про сам Emacs и его настройку под мои скромные потребности почитать, а не холивары про "раз этого нет, то оно не нужно" разводить...
0
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
19.08.2013, 18:14
[quote="kamre;4964350"]А как в нем смотреть сложные вложенные структуры данных? Вроде таких или таких./quote]
разварачиванием типов занимаются питоновские плагины gdb
в емаксе это все по факту подхватывается
Цитата Сообщение от kamre Посмотреть сообщение
Ни какой из этих инструментов не учитывает семантику языка C++. Или же расскажите как их нужно настроить для C++, может быть я чего-то упускаю.
есть cedit - все из коробки
вопросы кастамизации отдельных библиотек - уже следующая стадия

Цитата Сообщение от kamre Посмотреть сообщение
Не подходят тем, что не позволяют мне настроить так, как я это описал выше. Если позволяют, то расскажите как их нужно настроить для C++, может быть я чего-то упускаю.
через customize face
либо интерактивною, либо вручную (как например http://stackoverflow.com/quest... ndif-block)
я честно говоря кастомил только indention, поэтому про подсветку нужно гуглить
0
 Аватар для ninja2
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
19.08.2013, 20:25
emacs - это реально костыль, там даже строчки не пронумерованы и хз как эту нумерацию включить, приходилось вручную считать в кокой строчке ошибка. От визуалстудио это мега среда, все удобства и код посвечивается и если ошибка, то кликнул по строчке и попал в место где ошибка, плюс подсказки. Не нарадуюсь просто. Нашо нада разбираться по пол дня в настройках самого редактора время терять на это, тем более команды не так как в нормальных редакторах копировать ctr c, вставить ctr v, вырезать ctrl x, а там левые комбинации, в нем поработаешь так месяц и привыкнешь, а потом в нормальных редакторах таких как ворд или еще чо нить будешь путаться.

Пусть те кому жалко потратится на визуалстудио и работают в нем, а я сразу определил, что он убог и смысла нету разбираться в нем. Когото удивить? Да мне оно не нужно.
0
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
19.08.2013, 20:38
Цитата Сообщение от ninja2 Посмотреть сообщение
emacs - это реально костыль, там даже строчки не пронумерованы и хз как эту нумерацию включить, приходилось вручную считать в кокой строчке ошибка.
nlinum
насчет вручную строчки считать - M-g-g кто-то отменял?)
0
 Аватар для Goongala
1022 / 562 / 185
Регистрация: 18.08.2013
Сообщений: 2,027
Записей в блоге: 2
24.08.2013, 13:01  [ТС]
Цитата Сообщение от kamre Посмотреть сообщение
Сколько раз уже видел эту фразу про "его можно полностью под себя настроить", но как только доходит до вопросов по настройке самой базовой функциональности вроде подсветки кода и навигации по коду - никаких работающих решений не приводится. Про настройку работы с отладчиком, чтобы было также удобно пользоваться как в MSVC, вообще обычно сразу пишут, что отладчик не нужен и удобная интеграция с ним тем более.

Есть здесь на форуме гуру Emacs, которые помогут настроить эти базовые вещи, необходимые для работы над с++ проектами?

Самые простые вопросы по настройке Emacs:
  1. как настроить навигацию по С++ коду?
  2. как настроить семантическую расцветку кода?
  3. как сделать так, чтобы символ под курсором можно было подсветить во всем буфере?

Под 1 имеется ввиду корректная навигация с полным учетом семантики языка, т.е. всякие примитивные вещи вроде ctags не подходят. Шаблоны/макросы/перегрузки должны учитываться, и переход к определению символа из места его использования должен просто работать. Также под навигацией имеется ввиду и поиск references (мест использования символа) с учетом семантики, т.е. find-grep здесь явно не подходит.

В пункте 2 нужна возможность задавать разный текстовый стиль для разных семантических элементов. Например, разные стили для локальных переменных и членов класса. Для static элементов мне нужен курсив, для виртуальных функций также свой стиль.

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

Как мне "полностью под себя настроить" Emacs?
Очень убедительно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.08.2013, 13:01

Среда для визуального программирования
Подскажите среду для визуального программирования на C++ (хочу перетаскивать кнопочки на форму, а не прописывать их в коде). Из вариантов...

Среда программирования для Windows 7
Подскажите пожалуйста какую лучше всего среду разработки установить для операционной системы Windows 7 домашняя базовая 32 разрядная?...

Среда программирования на С++ для MAC
Подскажите пожалуйста оптимальную среду программирования для интересующихся для MAC OS, очень мало информации по этому поводу. Заранее...

Программная среда для программирования на C#
Сегодня решил начать изучать С#, только не пойму, откуда можно скачать программную среду для программирования на C#. Есть на сайте...

В какой среда программирования(или компиляторе) открыть нижеуказанный код?
Здравствуйте! Подскажите пожалуйста - в чем открыть этот код(в каком компиляторе, программе через которую скомпилирует без ошибок) ? И...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
32
Ответ Создать тему
Новые блоги и статьи
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы Всем привет! Хочу поделиться свежим (и довольно. . .
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения: - добавлена многоязычность - добавлено снятие скриншотов - добавлено поддержание бафов хождения по воде (для жреца, дк и шамана) - и так, по. . .
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата) Этот документ предназначен для того, чтобы новый чат Claude мог продолжить работу без необходимости заново разбираться в. . .
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса Калибровка параметров симбиотической модели: технический обзор Содержание: Введение Постановка проблемы Технические аспекты реализации Процесс внедрения изменений
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru