Как установить clang format на линукс
Максимальная оценка за работу — 1 балл. Срок выполнения — 1 неделя. Невыполненная или выполненная частично работа оценивается в 0 баллов без возможности пересдачи.
Цель работы¶
Установить необходимое для работы ПО: git, текстовый редактор, clang-format.
Выполнить базовую настройку рабочего окружения.
Создать репозиторий с приложением «Hello, World», выполнить несколько коммитов, загрузить результат на GitHub.
Подготовка к работе¶
Для выполнения работы необходимо изучить следующий материал из книги Pro Git:
Вам понадобятся следующие команды:
git clone — клонирование удаленного репозитория.
git config — установка и получение глобальных или локальных параметров.
git status — просмотр состояния файлов в локальном репозитории.
git log — просмотр истории изменений.
git push — обновление ссылок в удаленном репозитории.
Все работы выполняются в командной строке, в ОС Gnu/Linux. Основы работы в командной строке см. в Лабораторная работа 0. Знакомство с ОС GNU/Linux.
man(1) — просмотр документации.
mkdir(1) — создание каталога.
cd — изменение рабочего каталога. Описание команды расположено в man-странице bash(1).
ls(1) — просмотр списка файлов.
touch(1) — создание файла.
Руководство¶
Для создания репозитория пройдите по ссылке ЛР0: hello и выберите себя в списке. Если вас нет в списке, обратитесь к преподавателю практики.
Для вас будет создан репозиторий с именем вида hello-<username> . Склонируйте его с помощью команды git clone и перейдите в каталог с репозиторием:
Для фиксации изменений в репозитории нужно указать свои имя и email. Подробности см. в 1.6 Getting Started - First-Time Git Setup. Обратите внимание, в каком файле хранятся параметры после их установки. Если вы не хотите публиковать свой email, ознакомьтесь с руководством: Setting your commit email address.
Возможный вид команд:
Разработайте приложение «Hello, World». Выполните работу в несколько коммитов.
В склонированном репозитории создайте пустой файл main.c . В каком состоянии он находится? Для просмотра состояния используйте команду git status.
Проиндексируйте пустой файл main.c . Используйте команду git add. В каком состоянии находится файл?
Зафиксируйте изменения с помощью команды git commit. В заголовке коммита укажите: «Create empty main.c». После создания коммита выполните команду git status, объясните вывод. Выполните команду git log, объясните вывод. Обратите внимание, что локальная ветка main теперь опережает удаленную origin/main на один коммит.
Напишите функцию main :
Проверьте состояние файла main.c .
Проиндексируйте файл. Создайте еще один коммит. Посмотрите историю репозитория.
В лабораторных работах и курсовом проекте требуется соблюдение code style. Для автоматического форматирования исходников можно использовать утилиту clang-format. Скачайте конфиг .clang-format в корень репозитория hello-<username> . Обратите внимание, что имя файла должно начинаться с точки. Для скачивания конфига воспользуйтесь командой:
Установите в систему clang-format. Настройте свой текстовый редактор так, чтобы форматирование исходников выполнялось при сохранении файла. Убедитесь, что автоматическое форматирование работает.
Теперь файл .clang-format можно закоммитить:
Загрузите изменения в удаленный репозиторий с помощью команды git push. Посмотрите историю изменений. Убедитесь, что локальная ветка main и удаленная origin/main указывают на один и тот же коммит.
Передайте выполненное задание на ревью преподавателю практики. Для этого:
Откройте в браузере страницу репозитория.
На вкладке Pull requests перейдите в Feedback. Этот Pull request создан автоматически. Не закрывайте и не вливайте его. В лабораторных и курсовых он должен оставаться открытым.
В поле Reviewers выберите своего преподавателя.
Если ревью было пройдено со статусом Changes requested, исправьте замечения и запросите повторное ревью.
Полезные ссылки для настройки текстового редактора:
Официальная документация ClangFormat содержит информацию по настройке vim и emacs.
Atom — clang-format — плагин для редактора Atom. Может потребовать дополнительной настройки.
Настройка clang-format на ПК в аудиториях¶
В аудиториях вам доступны редакторы: vim, emacs, gedit. Из них наиболее низкий порог входа у gedit.
Gedit не поддерживает возможность автоматического форматирования файла при сохранении. Плагин из списка выше форматирует файл только при нажатии сочетания Alt+Shift+F или любого другого выбранного вами.
Если добиться работоспособности плагина не удалось, есть альтернативный способ подключения clang-format к gedit.
Включить плагин External Tools: Menu → Preferences → Plugins, отметить плагин External Tools.
Menu → Manage External Tools … → Add a new tool (+).
Заполнить поля (см. скриншот):
Известная проблема: при форматировании документа редактор выполняет прокрутку к началу файла.
Контрольные вопросы¶
Где хранятся настройки git?
Как просмотреть состояния файлов в репозитории?
Заключение¶
Работа считается выполненной, если:
У вас установлено и настроено необходимое ПО.
Создан репозиторий hello-<username> , в котором находится исходный код программы. Приложение компилируется с опциями -Wall -Werror . Ветка main запушена в удаленный репозиторий.
В репозитории есть конфиг .clang-format . В вашем текстовом редакторе настроено автоматическое форматирование исходного кода с использованием этого конфига. Исходный код приложения отформатирован.
Работа выполнена в несколько коммитов, все действия по индексации файлов, созданию коммитов и загрузке в удаленный репозиторий выполнялись в командной строке.
Я пытаюсь использовать clang-tools, в частности clang-format, для автоматического форматирования кода в vim, но мне не удалось найти этот инструмент с помощью поиска apt-get.
Кто-нибудь сталкивался с этой проблемой раньше, есть ли у вас какие-нибудь предложения?
Затем вы должны сначала выполнить поиск clang-format с помощью команды ниже
sudo apt-cache search clang-формат
Затем вы можете установить ту версию, которую хотите установить, например:
sudo apt-get install clang-format-3.3
Просто используйте команду ниже:
Когда я пытаюсь
В ENV нет командного clang-формата
В настоящее время вы можете напрямую использовать apt install clang-format в Debian / Ubuntu для установки clang-format . Однако clang-format , предоставляемый Debian / Ubuntu, довольно старый. Например, последняя версия clang-format из Ubuntu 18.04 - v7 , но последняя стабильная версия уже достигнута v12 . Вы можете установить последнюю версию clang-format , выполнив следующие действия:
Шаг 2. Добавьте следующий контент в конце /etc/apt/sources.list в зависимости от вашей операционной системы:
Buster (Debian 10):
Яблочко (Debian 11):
Xenial (Ubuntu 16.04):
Бионический (Ubuntu 18.04):
Шаг 3. Запустите sudo apt update
Шаг 4. Запустите apt search clang-format и проверьте все доступные версии:
Шаг 5. Используйте apt install , чтобы установить нужный clang-format . Затем вы можете использовать --version для проверки установленного clang-format . Вы можете установить несколько версий clang-format в одной среде.
pip3 install clang-format дает мне последнюю версию 9.0 на ubuntu 18.04 с нулевой конфигурацией
Попробуйте (в этом порядке, по очереди, пока один не сработает):
Затем прокомментируйте под этим ответом, какая у вас версия Linux или Linux Ubuntu и какая команда сработала для вас.
Ubuntu 14.04 работал с sudo apt install clang-format-3.6
Вот скрипт Python git-clang-format , чтобы вы могли использовать git clang-format в качестве команды git: https://llvm.org/svn/llvm-project/cfe/trunk/tools/clang-format/git-clang-format . Поместите его в свой PATH; пример: в файле с именем "
/ bin / git-clang-format" и пометить этот файл как исполняемый ( chmod +x
Рабочий процесс git для вызова и использования этого файла будет выглядеть следующим образом:
Хотя большинство разработчиков Ubuntu придерживаются GCC, они также позволяют начать работу с компилятором Clang. Если вы хотите, чтобы Clang работал над Ubuntu, это руководство для вас! Мы покажем вам, как заставить Clang 9, Clang 11 и Clang 12 работать в Ubuntu.
Как установить Clang 9 на Ubuntu
Если вам нужно заставить Clang 9 работать с Ubuntu, вы будете рады узнать, что в большинстве выпусков Ubuntu, даже в последней версии Ubuntu 21.04, он есть в репозитории программного обеспечения. Чтобы начать работу с Clang 9, начните с открытия окна терминала.
Чтобы открыть окно терминала на рабочем столе Ubuntu, нажмите Ctrl + Alt + T на клавиатуре. Когда он откроется, используйте команду apt install ниже, чтобы установить пакет Clang 9. Обязательно используйте параметр командной строки –install-sizes, так как он скажет Ubuntu получить все необходимое для использования Clang 9.
После ввода этой команды в окне терминала Ubuntu предложит вам ввести пароль. Сделай так. Когда вы это сделаете, он соберет все предложенные пакеты для установки на ваш компьютер.
Проверь это - Как делать хорошие фотографии в формате RAWПосле того, как Ubuntu соберет все пакеты для установки, вам будет предложено нажать клавишу Y на клавиатуре. Нажмите клавишу Y на клавиатуре, чтобы подтвердить, что вы хотите продолжить установку.
После нажатия Y Ubuntu установит Clang 9 в вашу систему. Когда закончите, закройте окно терминала или начните использовать Clang 9 в командной строке.
Как установить Clang 11 на Ubuntu
По одной причине в Ubuntu нет Clang 10, но есть Clang 11, что лучше, поскольку это более новая версия. Если вам нужен Clang 11 в вашей системе Ubuntu, начните с открытия окна терминала.
Чтобы открыть окно терминала на рабочем столе Ubuntu, нажмите Ctrl + Alt + T на клавиатуре. Или найдите «Терминал» в меню приложения. Когда он откроется, используйте команду apt install и параметр командной строки –install-sizes, чтобы настроить Clang 11 вместе с пакетами, предлагаемыми Ubuntu.
После ввода приведенной выше команды Ubuntu предложит вам ввести пароль для продолжения. Используя клавиатуру, введите пароль своей учетной записи. Затем нажмите клавишу Enter на клавиатуре, чтобы продолжить.
После продолжения Ubuntu соберет все предложенные пакеты и подготовит их к установке. После этого вам будет предложено нажать кнопку Y, чтобы продолжить. Используя клавишу Y на клавиатуре, подтвердите, что хотите продолжить установку, и Ubuntu установит Clang 11.
Когда установка будет завершена, Clang 11 будет на вашем ПК с Ubuntu. Отсюда вы можете закрыть терминал или начать использовать Clang 11.
Как установить Clang 12 на Ubuntu
Помимо Clang 9 и Clang 11, в Ubuntu также доступен Clang 12, который пользователи могут установить, если им это нужно. Если вы хотите установить Clang 12 на свой компьютер с Ubuntu, начните с открытия окна терминала. Чтобы открыть окно терминала в Ubuntu, нажмите Ctrl + Alt + T или Ctrl + Shift + T на клавиатуре.
Когда окно терминала открыто и готово к использованию, введите команду apt install и установите пакет clang-12 вместе с параметром командной строки –install-sizes, который захватывает все предложенные пакеты.
После ввода приведенной выше команды для установки Clang 12 Ubuntu предложит вам ввести пароль. Для команд sudo требуются пароли. Используя клавиатуру, введите пароль своей учетной записи и нажмите клавишу Enter.
Проверь это - Как подключиться к SFTP-серверу в UbuntuКогда вы вводите пароль в командной строке и нажимаете клавишу Enter, Ubuntu соберет все пакеты, которые нужны Clang 12. Оттуда он попросит вас нажать клавишу Y. Сделай так.
Ubuntu начнет загрузку и установку всех пакетов Clang 12 на ваш компьютер после нажатия клавиши Y. Это займет всего пару секунд. Когда процесс будет завершен, закройте окно терминала или оставьте его открытым и используйте Clang 12.
Другие пакеты Clang
Кроме того, не забудьте также проверить официальный поиск пакетов Ubuntu . Это веб-сайт, посвященный всем пакетам Ubuntu во всех дистрибутивах. Вы сможете использовать его для поиска любого необходимого пакета Clang!
QtCreator предоставляет плагин Beautifier для загрузки внешних инструментов (Artistic Style, ClangFormat, Uncrustify) для форматирования кода.
Beautifier проанализирует исходный код на структурные модули, такие как операторы присваивания, блоки операторов IF, тела цикла и т. Д., И отформатирует модули с параметрами, указанными Beautifier.
Beautifier может форматировать код, используя предопределенные и настраиваемые стили.
Два, формат Clang
1. Введение в Clang-формат
2. Установка в формате clang
Загрузите соответствующий LLVM в соответствии с версией GCC.Моя операционная система - RHEL7.3, версия GCC - 4.8.5, и я выбрал версию Fedora 20 x86-64 LLVM. Если вы выбираете версию Red Hat 6 x86-64, Red Hat 7 x86-64, для версии GLIBC требуется GLIBCXX_3.4.20, чего не может удовлетворить RHEL7.3.
Разархивируйте файл llvm-20140716.tar.gz
tar -zxvf llvm-20140716.tar.gz
Войдите в каталог llvm-20140716 / bin
Скопируйте clang-format в каталог / usr / local / bin
sudo cp -rf clang-format /usr/local/bin
3. Конфигурация в формате Clang
Откройте QtCreator4.6 и щелкните пункт меню «Справка> О подключаемых модулях> C ++> Beautifier» в строке меню.
Выберите плагин Beautifier
Перезапустите QtCreator4.6, можно использовать плагин Beautifier.
Откройте «Инструменты»> «Параметры»> «Украсить», чтобы настроить инструмент формата clang.
Выберите «Включить автоматический формат при сохранении файла» и выберите «Инструмент» как «ClangFormat».
На странице параметров ClangFormat выберите использование предопределенного стиля как Google.
Чтобы файл конфигурации стиля был недоступен, вы можете указать резервный стиль. Выберите по умолчанию, чтобы использовать стиль по умолчанию, и выберите «Нет», чтобы игнорировать форматирование.
Откройте «Инструменты> Параметры> Среда-> Клавиатура-> ClangFormat-> FormatFile» и установите «Последовательность клавиш» на Ctrl + Alt + K.
Подтвердите кнопку «ОК».
4. Предопределенный стиль в формате Clang.
clang-format предопределяет пять стилей LLVM, Google, Chromium, Mozilla и WebKit.
5. Использование Clang-формата
При использовании QtCreator для редактирования файла, сохранения файла или использования сочетания клавиш Ctrl + Alt + K, clang-format автоматически форматирует текущий редактируемый файл.
Используйте командную строку для экспорта предопределенных стилей, синтаксис следующий:
clang-format -style = имя формата -dump-config> имя файла
Значение имени формата может быть любым из llvm, google, chromium, mozilla, webkit; имя файла может быть любым именем, обычно .clang-format или _clang-format, потому что файл настраиваемого формата набора может принимать только Только одно из этих двух имен может быть распознано Clang-Format.
clang-format -style=google -dump-config > .clang-format
6. Запретить форматирование фрагментов кода.
Clang-format не управляет // отключением clang-format и // clang-форматом диапазона кода и / clang-format off /с / clang-format on Код в разделе кода будет отформатирован, но комментарии будут отформатированы как обычно.
7, нестандартный стиль в формате clang
clang-format поддерживает настраиваемые стили (путем записи файлов формата .clang), а настраиваемые стили обычно изменяются на основе предопределенных стилей. Содержимое файла пользовательского стиля выглядит следующим образом:
Примечание. При фактическом использовании необходимо обращать внимание на поддержку определенных опций в разных версиях. Более низкая версия clang-format может не поддерживать некоторые параметры. Поэтому пользователям необходимо ознакомиться с соответствующими документами текущей версии clang-формата.
Три, художественный стиль
1. Введение в художественный стиль
2. Инсталляция Artistic Style.
Разархивируйте astyle_3.1_linux.tar.gz
tar -zxvf astyle_3.1_linux.tar.gz
Войдите в каталог astyle / build
cd astyle/build
Используйте CMake для создания MakeFile
cmake ../
Компилировать
make
Скопируйте скомпилированный стиль в каталог / usr / local / bin
sudo cp -rf astyle /usr/local/bin
Тест в командной строке:
astyle
3. Конфигурация художественного стиля
Откройте QtCreator4.6 и щелкните пункт меню «Справка> О подключаемых модулях> C ++> Beautifier» в строке меню.
Подтвердите, что был выбран плагин Beautifier.
Откройте «Инструменты»> «Параметры»> «Украсить», чтобы настроить инструмент «Художественный стиль».
Выберите «Включить автоматический формат при сохранении файла» и выберите «Инструмент» как «ClangFormat».
На странице параметров художественного стиля выберите путь, по которому расположена программа команд художественного стиля: / usr / local / bin / astyle.
Выберите «Использовать индивидуальный стиль» и нажмите кнопку «Добавить», чтобы добавить индивидуальный стиль:
Используйте стиль ansi, добавьте пробелы по обе стороны от оператора в качестве стиля.
Откройте «Инструменты> Параметры> Среда-> Клавиатура-> ArtisticStyle-> FormatFile» и установите «Последовательность клавиш» на Ctrl + Alt + A.
4. Предопределенный стиль Artistic Style
Художественный стиль предопределяет множество стилей отступов кода, таких как allman, kr, java, stroustrup, whitesmith, vtk, gnu, linux, horstmann, google, mozilla, lisp, pico, ansi и другие стили. Для указания можно использовать параметр --style.
5. Использование художественного стиля
При использовании QtCreator для редактирования файла, при сохранении файла или использовании сочетания клавиш Ctrl + Alt + A Artistic Style автоматически отформатирует текущий редактируемый файл.
6, художественный стиль на заказ
Четыре, Uncrustify
1. Введение в Uncrustify
2. Установка без проверки подлинности
Загрузите исходный код uncrustify-master.zip для среды Linux, скомпилируйте и установите исходный код.
После распаковки сжатого пакета с исходным кодом войдите в каталог uncrustify-master
Создайте каталог сборки: mkdir build
Войдите в каталог компиляции: cd build
Создать MakeFile: cmake ..
Скомпилировать: сделать
Войдите в каталог bin: cd bin
Скопируйте программу в / usr / lcoal / bin: sudo cp -rf uncrustify / usr / lcoal / bin
Тест в командной строке: uncrustify
3. Конфигурация Uncrustify
Откройте QtCreator4.6 и щелкните пункт меню «Справка> О подключаемых модулях> C ++> Beautifier» в строке меню.
Подтвердите, что был выбран плагин Beautifier.
Откройте «Инструменты> Параметры> Украсить», чтобы настроить инструмент Uncrustify.
Выберите «Включить автоформатирование при сохранении файла» и выберите «Инструмент» как «Uncrustify».
На странице параметров Uncrustify выберите путь, по которому находится командная программа Uncrustify: / usr / local / bin / uncrustify.
Выберите «Использовать индивидуальный стиль» и нажмите кнопку «Добавить», чтобы добавить индивидуальный стиль:
Информацию о содержании настраиваемого стиля см. В файле uncrustify-master / etc / gnu-indent.cfg.Существуют различные стили файлов конфигурации для справки в uncrustify-master / etc.
Откройте «Инструменты> Параметры> Среда-> Клавиатура-> Uncrustify-> FormatFile» и установите «Последовательность клавиш» на Ctrl + Alt + U.
4. Использование Uncrustify
При использовании QtCreator для редактирования файла, при сохранении файла или использовании сочетания клавиш Ctrl + Alt + U, Uncrustify автоматически форматирует текущий редактируемый файл.
5. Распакуйте нестандартный стиль
Читайте также: