.clang-format代码格式化常用方法

📅 2026/8/18 10:41:44
.clang-format代码格式化常用方法
.clang-format代码格式化常用方法# 以 LLVM 风格为底再覆盖下面各项BasedOnStyle:LLVM# 一层缩进的视觉宽度空格数用 Tab 时也按这个对齐IndentWidth:4# 一个 Tab 字符显示成几列宽TabWidth:4# 缩进用真正的 Tab\t不用空格填充UseTab:Always# Linux 大括号函数的 { 换行if/for/while 的 { 跟在同一行# 例# void main()# {# if (x) {# }# }BreakBeforeBraces:Linux# 禁止把短 if 收成单行if (x) return; 会拆开写AllowShortIfStatementsOnASingleLine:false# 只有空函数体才允许单行有内容的函数不压成一行# Empty 允许 void f() {}不允许 void f() { return; }AllowShortFunctionsOnASingleLine:Empty# 不限制行宽0 不自动因超长而换行# 比如100 按列数算含缩进ColumnLimit:100# 圆括号前空格用自定义规则下面 SpaceBeforeParensOptionsSpaceBeforeParens:Custom# ( 后参数的对齐方式# Align 第一个参数留在 ( 同一行后续行对齐到第一个参数# 不要用 AlwaysBreak否则会变成 foo(\n\targ 那种AlignAfterOpenBracket:Align# 参数是否“塞满一行再换行”# false 一旦因超宽换行就每个参数单独一行不把多个参数挤在续行里BinPackParameters:false# 是否允许所有参数都放到下一行而函数名那一行只有 foo(# false 不允许那种写法配合 Align保持“首参跟在 ( 后面”AllowAllParametersOfDeclarationOnNextLine:false# 自定义「(」前面要不要空格SpaceBeforeParensOptions:# if / for / while 等关键字后加空格 → if (x)AfterControlStatements:true# 函数定义名后加空格 → void main ()AfterFunctionDefinitionName:true# 函数声明名后加空格 → void foo ();AfterFunctionDeclarationName:true