296 lines
13 KiB
YAML
296 lines
13 KiB
YAML
---
|
||
Language: Cpp
|
||
|
||
#https://releases.llvm.org/14.0.0/tools/clang/docs/ClangFormatStyleOptions.html
|
||
|
||
#Особый отступ для модификаторов видимости (на уровне с 'class')
|
||
AccessModifierOffset: -4
|
||
|
||
#Выравнивание аргументов после открытия скобки
|
||
AlignAfterOpenBracket: Align
|
||
|
||
#Выравнивание элементов в {}, когда несколько строк друг под другом
|
||
#Настройка забирает гибкость, пока от нее отказываемся
|
||
AlignArrayOfStructures: None
|
||
|
||
#Выравнивание после =, когда несколько строк друг под другом
|
||
AlignConsecutiveAssignments: None
|
||
|
||
#Выравнивание значений битовых полей
|
||
AlignConsecutiveBitFields: None
|
||
|
||
#Выравнивание деклараций имен, когда несколько строк друг под другом
|
||
AlignConsecutiveDeclarations: None
|
||
|
||
#Выравнивание значений дефайнов, когда несколько строк друг под другом
|
||
AlignConsecutiveMacros: AcrossComments
|
||
|
||
#Выравнивание бэкслешей в макросах
|
||
AlignEscapedNewlines: Left
|
||
|
||
#Выравнивание операторов (так себе настройка)
|
||
AlignOperands: DontAlign
|
||
|
||
#Выравнивание комментов, когда несколько строк друг под другом
|
||
AlignTrailingComments: true
|
||
|
||
#Если вызов функции или список инициализаторов в фигурных скобках
|
||
#не помещается на одной строке, разрешите помещать все аргументы
|
||
# на следующую строку, даже если BinPackArguments имеет значение false.
|
||
AllowAllArgumentsOnNextLine: false
|
||
|
||
#Если объявление функции не помещается на одной строке, разрешите
|
||
# помещать все аргументы на следующую строку, даже если
|
||
# BinPackArguments имеет значение false.
|
||
AllowAllParametersOfDeclarationOnNextLine: false
|
||
|
||
#Если в {} нет выражений, то закрывающая скобка рядом с открывающей, без переноса: {}
|
||
AllowShortBlocksOnASingleLine: Empty
|
||
|
||
#Запрещаем мультилайн в кейзах свича
|
||
AllowShortCaseLabelsOnASingleLine: false
|
||
|
||
#Запрещаем мультилайн в enum
|
||
AllowShortEnumsOnASingleLine: false
|
||
|
||
#В классах однострочные функции всегда single-line
|
||
#Свободные функции всегда НЕ single-line
|
||
#Функции без тела всегда single-line
|
||
AllowShortFunctionsOnASingleLine: Inline
|
||
|
||
#Запрет single-line if-конструкций
|
||
AllowShortIfStatementsOnASingleLine: Never
|
||
|
||
#Можно воротить лямбды как душе угодно
|
||
AllowShortLambdasOnASingleLine: All
|
||
|
||
#Запрет single-line циклов
|
||
AllowShortLoopsOnASingleLine: false
|
||
|
||
#Разрыв строки после возвращаемого типа объявляемой функции
|
||
AlwaysBreakAfterReturnType: None
|
||
|
||
#Если true, всегда разрывать строку перед многострочными строковыми литералами.
|
||
AlwaysBreakBeforeMultilineStrings: false
|
||
|
||
#Всегда перенос строки после обьявления шаблона
|
||
AlwaysBreakTemplateDeclarations: Yes
|
||
|
||
#DisableFormat: false
|
||
|
||
#Если false, аргументы вызова функции будут либо все в одной строке,
|
||
#либо будут иметь по одной строке каждый.
|
||
# ВАЖНО! с true получается гибкая настройка
|
||
BinPackArguments: true
|
||
|
||
#Если false, параметры объявления функции или определения функции будут
|
||
#либо все в одной строке, либо будут иметь по одной строке каждый.
|
||
# ВАЖНО! с true получается гибкая настройка
|
||
BinPackParameters: true
|
||
|
||
#Добавляет по одному пробелу с каждой стороны : (для битового поля)
|
||
BitFieldColonSpacing: Both
|
||
|
||
#Правило переноса строки перед фигурными скобками (и не только)
|
||
BreakBeforeBraces: Custom
|
||
BraceWrapping:
|
||
AfterEnum: true
|
||
AfterStruct: true
|
||
AfterFunction: true
|
||
AfterCaseLabel: true
|
||
AfterClass: true
|
||
AfterControlStatement: true
|
||
AfterNamespace: true
|
||
AfterUnion: true
|
||
AfterExternBlock: true
|
||
BeforeElse: true
|
||
BeforeCatch: true
|
||
BeforeLambdaBody: false
|
||
SplitEmptyNamespace: false
|
||
BeforeWhile: false
|
||
SplitEmptyFunction: false
|
||
SplitEmptyRecord: false
|
||
|
||
#При переносе операторы с левого края, но = остается на своей строке
|
||
BreakBeforeBinaryOperators: NonAssignment
|
||
|
||
#Если true, концепт будет помещен на новую строку.
|
||
BreakBeforeConceptDeclarations: true
|
||
|
||
#Операторы тернарного операторы с левого края (при переносе)
|
||
BreakBeforeTernaryOperators: true
|
||
|
||
#При инициализации в конструкторе ':' и ',' не переносятся
|
||
BreakConstructorInitializers: AfterColon
|
||
|
||
#При наследовании классов ':' и ',' не переносятся
|
||
BreakInheritanceList: AfterComma
|
||
|
||
#Разрешить разрыв строковых литералов при форматировании.
|
||
BreakStringLiterals: false
|
||
|
||
#Ограничение по ширине исходников
|
||
ColumnLimit: 0
|
||
|
||
#Если true, последовательные объявления пространств имен будут находиться в одной строке.
|
||
#Если false, каждое пространство имен объявляется в новой строке.
|
||
CompactNamespaces: false
|
||
|
||
#Количество символов, используемых для отступа в списках инициализаторов конструктора,
|
||
#а также в списках наследования.
|
||
ConstructorInitializerIndentWidth: 4
|
||
|
||
#Отступ от продолжения выражения после переноса строки
|
||
#Используется при выравнивании длинных макросов по левому краю
|
||
ContinuationIndentWidth: 0
|
||
|
||
#Пробелы в { 1, 2, 3 } перед первым и после последнего элемента
|
||
Cpp11BracedListStyle: false
|
||
|
||
#Если true, анализирует отформатированный файл на предмет
|
||
#наиболее распространенного выравнивания & и *
|
||
DerivePointerAlignment: false
|
||
|
||
#Если нужно полностью отключить форматирование (зачем??)
|
||
DisableFormat: false
|
||
|
||
#Пропуск строки ПОСЛЕ модификатора доступа (например, public:)
|
||
EmptyLineAfterAccessModifier: Never
|
||
|
||
#Пропуск строки ДО модификатора доступа (например, public:)
|
||
EmptyLineBeforeAccessModifier: LogicalBlock
|
||
|
||
#Экспериментировать с экспериментальными настройками не будем
|
||
#ExperimentalAutoDetectBinPacking: false
|
||
|
||
#Комменты после namespace
|
||
FixNamespaceComments: true
|
||
|
||
#Сортировка инклюдов - каждая секция (разделенная пустой строкой) сортируется лексикографически
|
||
IncludeBlocks: Preserve
|
||
|
||
#Сложная ненужная настройка отступов модификаторов доступа - при true
|
||
# будет игнорировать AccessModifierOffset
|
||
IndentAccessModifiers: false
|
||
|
||
#Дополнительный отступ у {} после case: в switch-операторе. Выглядит страшно, поэтому false
|
||
IndentCaseBlocks: false
|
||
|
||
#Отступ у ключевого слова case в switch. при false case и switch на одном уровне
|
||
IndentCaseLabels: false
|
||
|
||
#Выравнивание тела extern-секции
|
||
IndentExternBlock: NoIndent
|
||
|
||
#Выравнивание goto лэйблов
|
||
IndentGotoLabels: false
|
||
|
||
#Выравнивание вложенных препроцессорных директив
|
||
IndentPPDirectives: None
|
||
|
||
#Сделать отступ для пункта required в шаблоне
|
||
IndentRequires: false
|
||
|
||
#Отступы, пробелов
|
||
IndentWidth: 4
|
||
|
||
#При длинной сигнатуре функции можно перенести имя на новую строку без доп. отступов
|
||
IndentWrappedFunctionNames: false
|
||
|
||
#Делать пропуск строки после начала блока { }
|
||
KeepEmptyLinesAtTheStartOfBlocks: false
|
||
|
||
#Выравнивание тела лямбды
|
||
LambdaBodyIndentation: OuterScope
|
||
|
||
#Максимум пустых строк подряд
|
||
MaxEmptyLinesToKeep: 1
|
||
|
||
#Отступы у тел вложенных namespace's
|
||
NamespaceIndentation: None
|
||
|
||
#Количество столбцов, используемых для отступов операторов препроцессора.
|
||
#Настройка не используется
|
||
#PPIndentWidth: 10
|
||
|
||
#Порядок в списке инициализации. BinPack дает гибкость в настройке
|
||
PackConstructorInitializers: BinPack
|
||
|
||
#PenaltyBreak настройки непонятно че делают вообще.. не используется
|
||
|
||
#Выравнивание * и & к типу 'int* num'
|
||
PointerAlignment: Left
|
||
|
||
#Не используется:
|
||
#QualifierAlignment
|
||
#QualifierOrder
|
||
#RawStringFormats
|
||
|
||
#Выравнивание ссылки, как и указателя: int& obj
|
||
ReferenceAlignment: Pointer
|
||
|
||
#Перенос длинных комментов
|
||
ReflowComments: false
|
||
|
||
#Удалять {} у if, for, ... где их можно опустить (single-line тело)
|
||
#false - не удаляем
|
||
RemoveBracesLLVM: false
|
||
|
||
#Указывает использование пустых строк для разделения блоков определения,
|
||
#включая классы, структуры, перечисления и функции.
|
||
#Leave - гибкая настройка. Оставить как есть
|
||
SeparateDefinitionBlocks: Leave
|
||
|
||
#Максимальное количество развернутых строк, которые охватывает короткое пространство имен.
|
||
ShortNamespaceLines: 5
|
||
|
||
#При сортировке инклюдов учитывать регистр
|
||
SortIncludes: CaseSensitive
|
||
|
||
#Если true, clang-format будет сортировать using-декларации
|
||
SortUsingDeclarations: false
|
||
|
||
#Пробел после CStyle cast (int) a;
|
||
SpaceAfterCStyleCast: false
|
||
|
||
#пробел после '!' в логических условиях
|
||
SpaceAfterLogicalNot: false
|
||
|
||
#Пробел после ключевого слова template
|
||
SpaceAfterTemplateKeyword: true
|
||
|
||
#Пробелы после PointerQualifiers
|
||
# Default - также как в PointerAlignment
|
||
SpaceAroundPointerQualifiers: Default
|
||
|
||
#Пробел перед '='
|
||
SpaceBeforeAssignmentOperators: true
|
||
|
||
#Пробел после case colon: (case 1 : )
|
||
#false - (case 1:)
|
||
SpaceBeforeCaseColon: false
|
||
|
||
#Если значение равно true, перед списком в фигурных скобках C++11,
|
||
#используемым для инициализации объекта, будет вставлен пробел
|
||
#(после предшествующего идентификатора или типа).
|
||
SpaceBeforeCpp11BracedList: true
|
||
|
||
#Если false, пробелы будут удалены перед двоеточием инициализатора конструктора.
|
||
SpaceBeforeCtorInitializerColon: true
|
||
|
||
#Если false, пробелы будут удалены перед двоеточием наследования.
|
||
SpaceBeforeInheritanceColon: true
|
||
|
||
#Определяет, в каких случаях ставить пробел перед открывающими скобками.
|
||
# ControlStatements ставит пробел перед открывающими скобками только
|
||
# после ключевых слов (for/if/while...).
|
||
SpaceBeforeParens: ControlStatements
|
||
|
||
#Если false, пробелы будут удалены перед двоеточием цикла range-based fr.
|
||
SpaceBeforeRangeBasedForLoopColon: true
|
||
|
||
#Если true, вокруг условий if/for/switch/while будут вставлены пробелы.
|
||
SpacesInConditionalStatement: false
|
||
|
||
---
|