296 lines
13 KiB
Plaintext
296 lines
13 KiB
Plaintext
|
|
---
|
|||
|
|
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
|
|||
|
|
|
|||
|
|
---
|