gpt4 book ai didi

c++ - 在 clang-format 中,惩罚有什么作用?

转载 作者:IT老高 更新时间:2023-10-28 12:31:18 26 4
gpt4 key购买 nike

clang-format sytle options documentation包括许多称为 PenaltyXXX 的选项。文档没有解释应该如何使用这些惩罚。你能描述一下如何使用这些惩罚值以及它们达到什么效果(也许用一个例子)?

最佳答案

当您的行超过行长限制时,clang-format 将需要在某处插入一个或多个换行符。您可以将惩罚视为阻止某些断线行为的一种方式。例如,假设您有:

Namespaces::Are::Pervasive::SomeReallyVerySuperDuperLongFunctionName(args);
// and the column limit is here: ^

Clang-format 的格式可能看起来有点奇怪:

Namespaces::Are::Pervasive::SomeReallyVerySuperDuperLongFunctionName(
args);

在这种情况下,您可能决定愿意将行长超出一两个字符,因此您可以通过将 PenaltyExcessCharacter 设置为较低的数字和 来控制这种情况PenaltyBreakBeforeFirstCallParameter 到更高的数字。

就我个人而言,我真的不喜欢返回类型单独一行,所以我将 PenaltyReturnTypeOnItsOwnLine 设置为一个大得离谱的数字。

顺便说一句,这个系统是从 Latex 继承而来的,它允许你为换行、分页和断字指定各种惩罚。

关于c++ - 在 clang-format 中,惩罚有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26635370/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com