首页 > 解决方案 > clang 格式的 if 语句、大括号初始化和函数调用

问题描述

我正在尝试编写一个尽可能接近我个人喜好的.clang 格式文件。它工作得很好,除了一些我真的不喜欢的缺陷。

我已经上传了代码片段示例,用于进行clang格式比较之前和之后。下面是我想要更改的内容的摘要,否则我想保留格式尽可能接近它当前所做的。

知道我需要调整哪些选项以实现以下目标吗?

// What the .clang-format does:
if (
   a_arg1.i == 10 && a_arg2.i == 10 && a_arg3.i == 10 &&
   a_arg4.i == 10 )
{
   return a_arg4;
}

// What I want:
if ( a_arg1.i == 10 &&
     a_arg2.i == 10 &&
     a_arg3.i == 10 &&
     a_arg4.i == 10 )
{
   return a_arg4;
}


// What the .clang-format does:
clang_format::test::SuperDuper::UltraMega::LongLong::TypeName
   arr[] = { { 1 }, { 2 }, { 3 }, { 4 } };

// What I want:
clang_format::test::SuperDuper::UltraMega::LongLong::TypeName arr[] = {
   { 1 },
   { 2 },
   { 3 },
   { 4 } };


// What the .clang-format does:
const auto result =
   clang_format::test::function( arr[ 0 ], arr[ 1 ], arr[ 2 ], arr[ 3 ] );

// What I want:
const auto result = clang_format::test::function(
   arr[ 0 ],
   arr[ 1 ],
   arr[ 2 ],
   arr[ 3 ] );

标签: c++clang-format

解决方案


推荐阅读