Last active
February 22, 2025 09:52
-
-
Save intinig/9bba3a3faee80250b781bf916a4ab8b7 to your computer and use it in GitHub Desktop.
.clang-format for UE4
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
Language: Cpp | |
AccessModifierOffset: -4 | |
AlignAfterOpenBracket: DontAlign | |
AlignConsecutiveAssignments: false | |
AlignConsecutiveDeclarations: false | |
AlignEscapedNewlines: Left | |
AlignOperands: true | |
AlignTrailingComments: true | |
AllowAllParametersOfDeclarationOnNextLine: true | |
AllowShortBlocksOnASingleLine: false | |
AllowShortCaseLabelsOnASingleLine: false | |
AllowShortFunctionsOnASingleLine: None | |
AllowShortIfStatementsOnASingleLine: false | |
AllowShortLoopsOnASingleLine: false | |
AlwaysBreakAfterReturnType: None | |
AlwaysBreakBeforeMultilineStrings: true | |
AlwaysBreakTemplateDeclarations: Yes | |
BinPackArguments: true | |
BinPackParameters: true | |
BreakBeforeBinaryOperators: None | |
BreakBeforeBraces: Allman | |
BreakBeforeInheritanceComma: false | |
BreakInheritanceList: BeforeColon | |
BreakBeforeTernaryOperators: true | |
BreakConstructorInitializersBeforeComma: false | |
BreakConstructorInitializers: BeforeComma | |
BreakAfterJavaFieldAnnotations: false | |
BreakStringLiterals: true | |
ColumnLimit: 132 | |
CommentPragmas: '^ IWYU pragma:' | |
CompactNamespaces: true | |
ConstructorInitializerAllOnOneLineOrOnePerLine: true | |
ConstructorInitializerIndentWidth: 4 | |
ContinuationIndentWidth: 4 | |
Cpp11BracedListStyle: true | |
DerivePointerAlignment: false | |
DisableFormat: false | |
FixNamespaceComments: true | |
ForEachMacros: | |
- for | |
IncludeBlocks: Regroup | |
IncludeCategories: | |
- Regex: '.*\.generated\.h' | |
Priority: 100 | |
- Regex: '.*(PCH).*' | |
Priority: -1 | |
- Regex: '".*"' | |
Priority: 1 | |
- Regex: '^<.*\.(h)>' | |
Priority: 3 | |
- Regex: '^<.*>' | |
Priority: 4 | |
IncludeIsMainRegex: '([-_](test|unittest))?$' | |
IndentCaseLabels: true | |
IndentPPDirectives: None | |
IndentWidth: 4 | |
IndentWrappedFunctionNames: false | |
JavaScriptQuotes: Leave | |
JavaScriptWrapImports: true | |
KeepEmptyLinesAtTheStartOfBlocks: false | |
MacroBlockBegin: '' | |
MacroBlockEnd: '' | |
MaxEmptyLinesToKeep: 1 | |
NamespaceIndentation: None | |
ObjCBinPackProtocolList: Never | |
ObjCBlockIndentWidth: 2 | |
ObjCSpaceAfterProperty: false | |
ObjCSpaceBeforeProtocolList: true | |
PenaltyBreakAssignment: 2 | |
PenaltyBreakBeforeFirstCallParameter: 1 | |
PenaltyBreakComment: 300 | |
PenaltyBreakFirstLessLess: 120 | |
PenaltyBreakString: 1000 | |
PenaltyBreakTemplateDeclaration: 10 | |
PenaltyExcessCharacter: 1000000 | |
PenaltyReturnTypeOnItsOwnLine: 200 | |
PointerAlignment: Left | |
RawStringFormats: | |
- Language: Cpp | |
Delimiters: | |
- cc | |
- CC | |
- cpp | |
- Cpp | |
- CPP | |
- 'c++' | |
- 'C++' | |
CanonicalDelimiter: '' | |
BasedOnStyle: google | |
- Language: TextProto | |
Delimiters: | |
- pb | |
- PB | |
- proto | |
- PROTO | |
EnclosingFunctions: | |
- EqualsProto | |
- EquivToProto | |
- PARSE_PARTIAL_TEXT_PROTO | |
- PARSE_TEST_PROTO | |
- PARSE_TEXT_PROTO | |
- ParseTextOrDie | |
- ParseTextProtoOrDie | |
CanonicalDelimiter: '' | |
ReflowComments: true | |
SortIncludes: true | |
SortUsingDeclarations: true | |
SpaceAfterCStyleCast: true | |
SpaceAfterTemplateKeyword: true | |
SpaceBeforeAssignmentOperators: true | |
SpaceBeforeCpp11BracedList: false | |
SpaceBeforeCtorInitializerColon: true | |
SpaceBeforeInheritanceColon: true | |
SpaceBeforeParens: ControlStatements | |
SpaceBeforeRangeBasedForLoopColon: true | |
SpaceInEmptyParentheses: false | |
SpacesBeforeTrailingComments: 4 | |
SpacesInAngles: false | |
SpacesInContainerLiterals: true | |
SpacesInCStyleCastParentheses: false | |
SpacesInParentheses: false | |
SpacesInSquareBrackets: false | |
Standard: Auto | |
TabWidth: 4 | |
UseTab: Always | |
... |
Thanks for this file--you saved me a lot of time. The only change I've made so far is NamespaceIndentation to "All" from "None"
Thanks for this file--you saved me a lot of time. The only change I've made so far is NamespaceIndentation to "All" from "None"
No problem :) sharing is caring!
Thank you @intinig
Just asking, is it possible to disable formatting for inline functions?
f.e:
FORCEINLINE class USpringArmComponent* GetCameraBoom() const { return CameraBoom; }
breaks it to
FORCEINLINE class USpringArmComponent* GetCameraBoom() const
{
return CameraBoom;
}
@JanSeliv just place ;
:)
FORCEINLINE class USpringArmComponent* GetCameraBoom() const { return CameraBoom; };
@JanSeliv just place
;
:)
FORCEINLINE class USpringArmComponent* GetCameraBoom() const { return CameraBoom; };
yeah, thank you! :)
Anyone have a similar configuration for clang-tidy?
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
If you read the docs on IncludeCategories you'll see the main header always gets priority 0.