2015-11-05 6 views
13

Ich benutze das clang-Format um unseren C++ Code zu formatieren. Ich möchte eine leere Zeile zwischen der Klassendeklaration haben, und der schließenden Klammer des umgebenden Namensraum wie folgt:clang-format: Leere Zeile zwischen dem Ende der Klassendeklaration und dem Schließen eines Namensraums

namespace Foo { 

class Bar { 
}; 

} 

Aber Klirren-Format ändert sich der Code folgendermaßen aus:

namespace Foo { 

class Bar { 
}; 
} 

Es entfernt die leere Zeile zwischen der Klassendeklaration und der schließenden Klammer des Namensraums.

Meine Frage: Gibt es eine Möglichkeit zu verhindern, dass Clang-Format die leere Zeile entfernt?

Dies ist meine aktuelle Klirren-Format Konfiguration:

Language: Cpp 
AccessModifierOffset: -4 
AlignAfterOpenBracket: true 
AlignConsecutiveAssignments: false 
AlignEscapedNewlinesLeft: false 
AlignOperands: false 
AlignTrailingComments: false 
AllowAllParametersOfDeclarationOnNextLine: true 
AllowShortBlocksOnASingleLine: false 
AllowShortCaseLabelsOnASingleLine: false 
AllowShortFunctionsOnASingleLine: false 
AllowShortIfStatementsOnASingleLine: false 
AllowShortLoopsOnASingleLine: false 
AlwaysBreakAfterDefinitionReturnType: None 
AlwaysBreakBeforeMultilineStrings: true 
AlwaysBreakTemplateDeclarations: true 
BinPackArguments: true 
BinPackParameters: true 
BreakBeforeBinaryOperators: None 
BreakBeforeBraces: Attach 
BreakBeforeTernaryOperators: false 
BreakConstructorInitializersBeforeComma: false 
ColumnLimit: 80 
CommentPragmas: '^ IWYU pragma:' 
ConstructorInitializerAllOnOneLineOrOnePerLine: true 
ConstructorInitializerIndentWidth: 0 
ContinuationIndentWidth: 4 
Cpp11BracedListStyle: true 
DerivePointerAlignment: true 
DisableFormat: false 
ExperimentalAutoDetectBinPacking: false 
ForEachMacros: [foreach, Q_FOREACH, BOOST_FOREACH] 
IndentCaseLabels: false 
IndentWidth: 4 
IndentWrappedFunctionNames: false 
KeepEmptyLinesAtTheStartOfBlocks: false 
MacroBlockBegin: '' 
MacroBlockEnd: '' 
MaxEmptyLinesToKeep: 1 
NamespaceIndentation: None 
ObjCBlockIndentWidth: 4 
ObjCSpaceAfterProperty: true 
ObjCSpaceBeforeProtocolList: true 
PenaltyBreakBeforeFirstCallParameter: 1 
PenaltyBreakComment: 300 
PenaltyBreakFirstLessLess: 120 
PenaltyBreakString: 1000 
PenaltyExcessCharacter: 1000000 
PenaltyReturnTypeOnItsOwnLine: 200 
PointerAlignment: Left 
SpaceAfterCStyleCast: false 
SpaceBeforeAssignmentOperators: true 
SpaceBeforeParens: ControlStatements 
SpaceInEmptyParentheses: false 
SpacesBeforeTrailingComments: 4 
SpacesInAngles: false 
SpacesInCStyleCastParentheses: false 
SpacesInContainerLiterals: false 
SpacesInParentheses: false 
SpacesInSquareBrackets: false 
Standard: Cpp11 
TabWidth: 4 
UseTab: Never 

Antwort

9

Ich fand einen Weg, dies zu umgehen: einen Inline-Kommentar zu Ihrem Namensraum schließenden Klammer hinzuzufügen, wie folgt:

namespace my_namespace { 

class MyClass { 
    int n; 
}; 

} // namespace my_namespace 
Verwandte Themen