gpt4 book ai didi

c++ - 如何控制链式方法调用的 clang 格式缩进?

转载 作者:行者123 更新时间:2023-12-03 10:03:34 24 4
gpt4 key购买 nike

我希望结果如下所示:

auto foo = FooBuilder()
.WithSomething()
.WithSomethingElse()
.Build();

而是 clang-format格式如下:
auto foo = FooBuilder()
.WithSomething()
.WithSomethingElse()
.Build();

我希望链接的调用相对于前一行的开头缩进,而不是相对于 FooBuilder()称呼。我在 clang-format 中没有看到任何内容控制这一点的选项。设置 ContinuationIndentWidth没有帮助。有任何想法吗?

最佳答案

不幸的是,这似乎是 不可能。 我发现影响这一点的唯一选项是 ContinuationIndentWidth ,正如您所说,这不会做您想做的事情。
我个人会做的是使用以下正则表达式来查找已分解的链式方法调用:\)\s+\.它将匹配一个右括号、1 个或多个空白字符(但不是 0)和一个句点。您可能没有太多这样的实例,因此您可以手动修复它们,然后为这些行禁用 clang-format 以便将来不用管它:

// clang-format off

auto friggin_cool_object = SuperCoolBuilder().do_what_i_want()
.figure()
.out()
.the()
.params()
.too();

// clang-format on

关于c++ - 如何控制链式方法调用的 clang 格式缩进?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39779985/

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