首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Clang格式前插入换行符:类/结构中的运算符

如何在Clang格式前插入换行符:类/结构中的运算符
EN

Stack Overflow用户
提问于 2015-11-24 22:04:29
回答 1查看 1.2K关注 0票数 1

我正在尝试用clang-format 3.7格式化一些代码。

我有一个结构,看起来有点像这样:

代码语言:javascript
复制
struct NameOfStruct
{
  explicit NameOfStruct()
    : Thing1(-1), Thing2(-1)
  {}

  std::size_t objectA;
  std::size_t objectB;
};

这很好,但是clang-format坚持这样格式化:

代码语言:javascript
复制
struct NameOfStruct
{
  explicit NameOfStruct() : Thing1(-1), Thing2(-1)
  {
  }

  std::size_t objectA;
  std::size_t objectB;
};

我更愿意将Thing1Thing2放在下一行,也更愿意把大括号放在同一行,但是没有它我也能活下去。

这是我当前的.clang-format文件,有什么方法可以改变它吗?

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

回答 1

Stack Overflow用户

发布于 2017-02-23 17:37:34

你可以在你想要true的地方使用BreakConstructorInitializersBeforeComma: false

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33895699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档