2

所以目前我使用下一种风格:

{ 
  BasedOnStyle: "LLVM", 
  IndentWidth: 4,   
  UseTab: false, 
  ColumnLimit: 150, 
  Standard: "Cpp11",
  BreakBeforeBraces: "Attach",  
  BreakBeforeBinaryOperators: false,    
  AlwaysBreakTemplateDeclarations: true, 
  AllowShortLoopsOnASingleLine: false,
  AllowShortIfStatementsOnASingleLine: false, 
  AllowAllParametersOfDeclarationOnNextLine: true, 
  SpacesInParentheses: true,    
  SpacesBeforeTrailingComments: 1, 
  SpaceInEmptyParentheses: false,
  SpaceAfterControlStatementKeyword: true, 
  PointerBindsToType: true, 
  MaxEmptyLinesToKeep: 1,
  IndentFunctionDeclarationAfterType: true, 
  IndentCaseLabels: true,
  ExperimentalAutoDetectBinPacking: true, 
  DerivePointerBinding: true, 
  Cpp11BracedListStyle: false, 
  ConstructorInitializerAllOnOneLineOrOnePerLine: true,
  BreakConstructorInitializersBeforeComma: true
}

并得到

try {
}
 catch ( ... ) {
}

虽然我想得到

try {
} catch ( ... ) {
}

任何人都可以说哪个Clang-Format 样式选项对这种行为负责吗?

4

2 回答 2

3

BreakBeforeBraces据我了解,应该会影响您所关注的行为。看起来像您引用的样式选项页面上的Attach描述中的正确选项。我可以看到它不起作用的唯一原因是它需要一个枚举。在不制作字符串 的情况下尝试一下。BreakBeforeBracesBraceBreakingStyleAttach

BreakBeforeBraces: Attach 

或者

BreakBeforeBraces: BS_Attach 
于 2014-02-19T02:26:57.283 回答
1

最近才添加了对 try-catch-blocks 的支持。如果您更新到当前版本,这应该是固定的。

于 2014-06-03T08:31:20.890 回答