# .clang-format # 这是一个尝试接近 Qt 风格的配置。 # Qt 的风格比较独特,可能需要结合 Clang-Format 的其他选项和手动调整。 BasedOnStyle: Google # Google 风格的控制流大括号是同行的,作为起点。 # 也可以尝试 BasedOnStyle: LLVM IndentWidth: 4 UseTab: Never ColumnLimit: 100 # 建议行宽 # Qt 类和函数的大括号在新行,控制流语句的大括号同行。 # Clang-Format 的 BreakBeforeBraces 选项很难完美匹配这种混合风格。 # AttachStyle: 用于控制流语句的大括号行为,通常与 K&R 风格(同行)一致。 # 对于类和函数,你可能需要更复杂的 Clang-Format 配置,或者接受一点偏差。 # 默认的 BasedOnStyle: Google 或 LLVM 已经把控制流语句的大括号放在同行了。 BreakBeforeBraces: Attach # 用于 if/for/while 等控制流语句,使其大括号与语句同行 # 对于类、函数、命名空间等大括号的控制: # Qt 风格中,类、函数、命名空间的大括号是新一行的。 # Clang-Format 没有一个直接的 BreakBeforeBraces 选项来完美匹配这种组合。 # Default/Custom 会根据情况进行调整。 # 通常,当你设置 BreakBeforeBraces: Attach 时,类和函数的大括号会默认在新行。 # 这是一个需要你测试和验证的部分。 AlignTrailingComments: true # 尾随注释的对齐 # 指针/引用符 PointerAndReferenceBindsToType: false # * 和 & 紧贴变量名 (e.g., int *x) # 或 true 如果你喜欢紧贴类型 (e.g., int* x),Qt 官方更常用前者,但后者也常见。 # 注意:Qt 官方指南里是这样写的:`char *ptr;` 但实际代码中 `char* ptr;` 也大量存在。 # 其他常见的 Q_PROPERTY 相关的对齐 AllowShortBlocksOnASingleLine: Empty # {} 可以放在一行 # 确保在项目中安装了 Clang-Format VS Code 扩展,并设置为保存时格式化。