我使用clang-format和一个相当小的配置文件,我对这些选项不是很熟悉。为了这个问题,请考虑这段未格式化的代码:
int msgResult = ShowMBox(R_MESSAGE, msgText, MB_OK_ENABLE | MB_CANCEL_ENABLE, MB_STYLE_ERROR);
当我在这个片段上运行clang-format时,我得到了
int msgResult
= ShowMBox(R_MESSAGE, msgText, MB_OK_ENABLE | MB_CANCEL_ENABLE, MB_STYLE_ERROR);
但我更喜欢
int msgResult = ShowMBox(R_MESSAGE, msgText, MB_OK_ENABLE | MB_CANCEL_ENABLE,
MB_STYLE_ERROR);
有没有办法在=
之后强行执行不破坏,或者至少不愿意破解?
答案 0 :(得分:0)
我相信您想要这两个样式选项:
BinPackArguments: true
AlignAfterOpenBracket: Align
如果没有BinPackArguments
,则clang-format将尝试将所有函数参数放在一行上,或者如果不能将每行放置一个函数参数上。大多数预定义样式已将BinPackArguments
设置为true
,但Mozilla
样式却没有。
在没有将AlignAfterOpenBracket
设置为Align
的情况下,clang格式有时会倾向于将所有参数放在第二行,而不是仅将一个参数与其他参数不对齐。大多数预定义样式已将AlignAfterOpenBracket
设置为Align
,但WebKit
样式却没有。
有关这些设置的更多详细信息,请参见documentation。
我的测试是使用clang格式6.0.0完成的。也许您有一个不支持所有这些功能的早期版本。