如何配置clang-format 17.6忽略函数参数的换行/合并格式修改?
解决clang-format 17.6保留函数参数原有单行/多行格式的问题
要让clang-format不修改函数参数的原有换行逻辑(多行保持多行、单行保持单行),直接在你的.clang-format配置文件中添加以下设置即可:
# 禁止自动合并或拆分函数参数的行 BinPackParameters: false # 禁止强制将所有参数放到括号后的单独一行 AllowAllParametersOfDeclarationOnNextLine: false
选项说明:
BinPackParameters: false:这个配置会让clang-format完全尊重你手动设置的参数换行格式——原本分多行写的参数不会被合并成单行,原本单行的参数也不会被强制拆分成多行。AllowAllParametersOfDeclarationOnNextLine: false:配合前者使用,避免clang-format把函数所有参数统一移到括号后的下一行,确保完全保留你原本的排版结构。
效果验证:
- 原多行参数函数:
uint8_t BufferPutUint8(OUT uint8_t* puBuffOut, IN uint8_t uVal);
配置后clang-format不会将其格式化为单行。
- 原单行参数函数:
inline bool BitSetIsSetUInt8(IN uint8_t uBitSet, IN uint8_t uBitMask) { return (uBitSet & uBitMask) == uBitMask; }
配置后clang-format不会将其拆分为多行参数。
内容的提问来源于stack exchange,提问作者monder
相关产品推荐
相关产品推荐

