如何设置clang-format将左大括号后的尾随注释移至新行?
clang-format 实现左大括号后尾随注释移至新行的方案
clang-format 目前没有内置的专属配置项直接实现这个需求,但可以通过两种方式达成目标:
方案一:正则脚本批量处理(简单高效)
先保持你现有clang-format的基础配置(比如大括号采用Attach风格,即与函数/条件语句同行),再用正则替换工具批量调整注释位置。以sed为例(适配Linux/macOS):
sed -i '' 's/{\s*\/\/\(.*\)/{\n \/\/\1/g' 你的源文件.cpp
该命令会匹配所有{ // 注释内容的格式,将其替换为大括号单独一行、注释换行并保持对应缩进的格式。你可以根据代码实际缩进空格数调整命令中的空格数量。
方案二:自定义Clang工具(精准进阶)
如果需要更精准的控制(比如仅处理函数、条件语句后的注释,不影响其他场景的大括号注释),可以基于Clang的LibTooling编写自定义工具,通过AST匹配定位到目标注释后调整其位置。这种方式需要具备C++和Clang API的基础能力。
内容的提问来源于stack exchange,提问作者eff
相关产品推荐
相关产品推荐

