C++ - это язык программирования, который известен своей безупречной производительностью и мощными функциями, которые предлагают пользователям больший контроль над фактическим оборудованием, не опускаясь до уровня ассемблера. Имея огромную экосистему библиотек, фреймворков и инструментов вместе с широко развитым сообществом и большим количеством учебных пособий и руководств, а также отличную документацию по его поддержке, C++ стал одним из самых популярных языков программирования, который используется практически повсеместно.
Его универсальность и компактность привели к тому, что он приобрел громкое имя среди разработчиков игр и, таким образом, часто используется для разработки игр, игровых движков и настольных приложений. Имея такое мощное ядро, очень важно иметь редактор, который обеспечивает лучшие функции и удовлетворяет потребности его пользователей.
Emacs - один из таких удобных редакторов, который благодаря своей гибкой и адаптируемой природе быстро превратился в чрезвычайно эффективный и мощный инструмент для использования. Такие функции, как интеграция с git, несколько режимов редактирования, поиск и замена регулярных выражений, демонстрируют командное присутствие среди широкого набора текстовых редакторов.
Будучи чрезвычайно настраиваемым, его можно легко настроить для использования в качестве C++ IDE. Поэтому сегодня мы рассмотрим, как можно настроить Emacs для разработки на C++ и превратить его в C++ IDE.
Интеграция C++ с Emacs
Чтобы интегрировать C++ с Emacs, мы будем использовать несколько пакетов, таких как автозаполнение, flycheck, magit и т.д. Теперь перейдем к процессу.
Добавление начальных команд в файл инициализации
При запуске Emacs первое, что обрабатывается, это файл инициализации (файл инициализации), который содержит команды, позволяющие пользователям настраивать и настраивать Emacs в соответствии со своими предпочтениями.
Итак, чтобы Emacs действовал как C++ IDE, нам нужно добавить несколько команд в этот файл.
Для этого откройте терминал и введите следующую команду, чтобы открыть файл инициализации:
|
|
Теперь нам нужно добавить следующие строки кода:
|
|
Приведенный выше код в основном добавляет архив Melpa в список репозиториев пакетов, найденных в Emacs, и позволяет ему использовать эти пакеты.
Кроме того, он устанавливает пакет use-package, который можно использовать для установки других пакетов, установки привязок клавиш и настройки различных режимов Emacs.
Добавление пакета Yasnippet
Как только мы завершим настройку нашего Emacs с начальным содержимым, мы теперь добавим пакет yasnippet, который является расширением фрагмента для Emacs и следовательно, предоставляет шаблоны функций для нескольких языков, включая C++.
Чтобы добавить это в наш файл инициализации, мы должны сначала установить его. Для этого откройте Emacs, нажмите Alt + x и введите package-list-packages. Теперь нажмите Ctrl + s и найдите yasnippet. Продолжайте нажимать Ctrl + s, пока не найдете пакет: yasnippet-snippets.
Вы можете либо щелкнуть по нему и выбрать Install, либо нажать i, а затем x, чтобы установить пакет yasnippet.
После установки yasnippet нажмите Ctrl + x, затем Ctrl + f и откройте файл ~/.emacs. Внутри этого добавьте следующие строки кода:
|
|
Просто нажмите Ctrl + X, затем Ctrl + S, чтобы сохранить файл и перезапустить Emacs. Теперь откройте некоторые файлы C++, и вы увидите такие варианты выпадающего меню, которые предоставляют вам фрагмент при нажатии.
Варианты выпадающего меню:
Фрагмент дается после нажатия на один из вариантов:
Добавление некоторых дополнительных пакетов
Теперь мы собираемся добавить несколько дополнительных пакетов, которые дадут нам больше функциональных возможностей в Emacs для разработки на C++.
Прежде всего, мы добавим режим auto-complete, который, как следует из названия, является расширением автозаполнения. Добавьте следующие строки кода в файл инициализации:
|
|
Далее мы добавим flycheck, которая помогает в проверке синтаксиса, сообщая об ошибках и предупреждениях. Для этого необходимо добавить следующее в наш файл инициализации:
|
|
Наконец, мы добавим современный пакет шрифтов C++, который обеспечивает подсветку синтаксиса новейшего языка C++.
|
|
Интеграция с Git с использованием Magit
Emacs также позволяет интегрироваться с Git с помощью Magit, инструмента git, который действует как интерфейс для Git. Мы можем включить это в Emacs, добавив следующие строки кода в наш файл инициализации:
|
|
Здесь мы устанавливаем привязку клавиш с помощью клавиш Ctrl + x, за которыми следует g, что позволяет нам видеть состояние наших файлов (untracked, staged, commits).
Чтобы увидеть команды Magit, нажмите клавишу со знаком вопроса (?). Некоторые команды, которые будут показаны:
Используя их, мы можем интегрировать наши файлы с Git контроля версий.
Компиляция и запуск кода C++
Для компиляции и запуска кода C++ в Emacs мы будем использовать пользовательскую функцию и отладчик GDB. Это значительно упрощает процесс по сравнению с созданием make-файлов, а затем их компиляцией и сборкой. Для этого, прежде всего, добавьте следующий код в ваш файл инициализации:
|
|
Приведенный выше код позволяет нам скомпилировать файл C++ с помощью клавиши f9.
После компиляции, чтобы запустить файл C++, нажмите Alt + x и введите gdb. Вы получите что-то вроде этого:
Просто нажмите Enter, и gdb запустится. Теперь нажмите на кнопку Run, расположенную в верхней части Emacs, чтобы запустить программу C++.
На следующем рисунке показан выполняемый код C++:
Зачем использовать Emacs для C++?
Emacs - очень мощный текстовый редактор, который предлагает так много удивительных функций для своих пользователей. Будучи легко настраиваемым, Emacs может быть легко настроен пользователями в соответствии с их потребностями и предпочтениями. Они могут менять темы, стили шрифтов и многое другое. Это обязательный редактор для пользователей, которым нужна большая свобода в работе.