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-format
Windows: установить 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