如何向 clang 格式添加功能?
Posted
技术标签:
【中文标题】如何向 clang 格式添加功能?【英文标题】:How to add capabilities to clang-format? 【发布时间】:2020-11-22 04:44:21 【问题描述】:Clang 有助于让每个人都对公司的编码标准保持诚实,但它并不能完全涵盖所有情况,并且会做出 (IMO) 错误选择,而不是忽略某些情况。例如(来自另一个有类似问题的帖子):
z1 = sqrt(x*x + y*y);
被clang-format“扭曲”成
z2 = sqrt(x * x + y * y);
当然符合公司标准,但 z1 表达式一目了然。我希望 clang-format ignore (不添加或删除)二进制运算符周围的空格。我没有看到 any 设置二进制运算符周围的空格。不管我是否愿意,它都会这样做。
那么,我可以添加处理新参数的功能吗?
SpaceAroundBinaryOperator: true|false|ignore
?
即,有经验的 C++ 程序员是否可以访问 clang 格式的代码,而不必花费一周或更长时间来弄清楚代码?有什么建议吗?
【问题讨论】:
【参考方案1】:那么,我可以添加处理新参数的功能吗...
对于有经验的 C++ 程序员来说,clang 格式的代码是否可以访问,而无需花费一周或更长时间来弄清楚代码?
有这个:https://clang.llvm.org/docs/ClangFormatStyleOptions.html#adding-additional-style-options,但那里没有太多信息。
还有这个:https://clang.llvm.org/docs/LibFormat.html
也许这个:https://clang.llvm.org/docs/#design-documents
但我认为您真的必须深入了解source code。有很多代码(因为clang-format
代码是整个 clang C++ 编译器和相关工具 LLVM 项目的一部分),所以我认为您需要一周或更长时间才能弄清楚。只是我的猜测......
【讨论】:
以上是关于如何向 clang 格式添加功能?的主要内容,如果未能解决你的问题,请参考以下文章
将 clangs 自定义 int 大小功能添加到 gcc 中吗?
如何在 gcc/clang 中的错误和警告之间添加换行符/边框