修改vscode,默认使用llvm

默认功能还不满足的情况下,可以进行格式化定制。定制结果如下:

文件路径:项目根路径/.clang-format

BasedOnStyle: LLVM
IndentWidth: 4
UseTab: false
ColumnLimit: 80
# 核心:大括号换行规则
BreakBeforeBraces: Custom
BraceWrapping:
  AfterClass: true        # class 定义后换行
  AfterControlStatement: false  # 控制语句后不换行 (if/for/while)
  AfterEnum: false        # enum 后不换行
  AfterFunction: true     # 函数定义后换行
  AfterNamespace: true    # namespace 后换行
  AfterObjCDeclaration: false
  AfterStruct: false       # struct 定义后换行
  AfterUnion: false
  AfterExternBlock: true
  BeforeCatch: false      # catch 前不换行
  BeforeElse: false       # else 前不换行
  BeforeLambdaBody: false
  BeforeWhile: false
  IndentBraces: false
  SplitEmptyFunction: true
  SplitEmptyRecord: true
  SplitEmptyNamespace: true
  AfterMacros: false
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
# 参数换行优化配置
BinPackArguments: true
BinPackParameters: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortFunctionsOnASingleLine: Inline
PenaltyBreakBeforeFirstCallParameter: 100
# 其他换行控制
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: Yes
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 100
PenaltyBreakString: 1000
PenaltyExcessCharacter: 10000
ForEachMacros: ['RANGES_FOR', 'FOREACH', 'MY_FOREACH', 'DEMO_FOREACH_MACRO_FOR']

ForEachMacros配置的是需要当作foreach的宏,如果有哪个宏需要尾括号在同一行,那么需要把宏的名字加入到这里。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐