Code style
Стандарт оформления кода - набор правил и соглашений, используемых при написании исходного кода. Наличие общего стиля программирования облегчает понимание и поддержание исходного кода, написанного более чем одним программистом, а также упрощает взаимодействие нескольких человек при разработке программного обеспечения.
Аналог clang-format. Применяется по умолчанию в Visual Studio (подробнее здесь и здесь).
clang-format - это служебная программа, которая упрощает задание стиля и формата кода на основе набора правил, которые можно настроить в файле .clang-format или _clang-format.
Можно создать свой файл .clang-format или _clang-format для настраиваемого определения формата. Такой файл уже присутствует в папке проекта, Visual Studio использует его для форматирования всех файлов исходного кода в этой папке и вложенных в нее папках.
clang-format в терминале
clang-format в терминалеВ первую очередь необходимо скачать llvm: https://github.com/llvm/llvm-project/releases/tag/llvmorg-18.1.8 либо установить (Unix) при помощи следующих команд:
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -
# clang-18
sudo add-apt-repository "deb http://apt.llvm.org/noble/ llvm-toolchain-noble-18 main"
sudo apt install clang-18 clang-tools-18 clang-18-doc libclang-common-18-dev libclang-18-dev libclang1-18 clang-format-18 clangd-18 libc++-18-dev libfuzzer-18-dev lldb-18 lld-18 libc++abi-18-devПример использования:
clang-format -i "main.c" --style=fileПояснение по примеру:
-i– изменения сразу будут записаны в этот же файл;--style=file– используется стиль оформления из файла, лежащего там же, где исполняется команда.
Из полезного: -n – просмотр изменений без модификации файла.
Простое применение:
Клонируем репозиторий курса.
Переносим в корень репозитория файлы с исходным кодом.
Запускаем по ним из корня репозитория форматирование
clang-format-ом с-i.
clang-format в Visual Studio
clang-format в Visual StudioVisual Studio по умолчанию использует форматирование согласно дефолтным editconfig настройкам. Но ей можно указать, что необходимо использовать clang-format.
Это можно сделать следующим образом:
Положить файл
.clang-formatв директорию проекта.Переходим в
Debug-Options-Text Editor-C/C++-Code Style-Formatting.Включаем
Enable ClangFormat support.Настраиваем
ClangFormat executionследующим образом:for all formating scenarios -.clang-formatприменяется и при ручном запуске форматирования кода, и при его написанииonly for manually invoked formatting command -.clang-formatприменяется только в случае ручного форматирования кода
(Опционально) Если выбран 4.2 или вы не сразу положили
.clang-formatв директорию проекта, то проходимся по каждому файлу кода и нажимаемEdit-Advanced-Format Document.
clang-format в Visual Studio Code
clang-format в Visual Studio Codeclang-format в CLion
clang-format в CLionCLion имеет встроенный clang-format, но CLion можно указать, что нужно использовать другой файл:
Положить файл
.clang-formatв директорию проекта.Перейти в
Settings | Editor | Code Style - ClangFormat.Включить
Enable ClangFormat (only for C/C++/Objective-C).
clang-format в Qt Creator
clang-format в Qt CreatorДля автоматического форматирования кода необходимо установить плагин Beautifier.
После установки плагина:
Положить файл
.clang-formatв директорию проекта.Установить
clang-format:UNIX/Ubuntu:
sudo apt install clang-formatWindows: установить LLVM (то есть поставить компилятор Clang с кучей утилит) и найти файл LLVM\bin или скачать напрямую, например отсюда.
MacOS:
brew install clang-format
Перейти в
Tools-Options-Beautifier.В
GeneralвключитьEnable auto format on file save.Во вкладке
ClangFormatУбедиться, что в Clang Format Command найдет установленный ClangFormat (
clang-formatилиclang-format.exe)Рекомендуется выбрать в
Use predefined styleопциюFile(аналогично Visual Studio)
Last updated
