我使用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);有没有办法强制在=之后不中断,或者至少不希望这样做?
发布于 2020-08-09 15:23:57
我相信你想要这两种风格的选择:
BinPackArguments: true
AlignAfterOpenBracket: Align如果没有BinPackArguments,clang-format将尝试将所有函数参数放在一行中,如果不能,则将每行放入一个函数参数。大多数预定义样式已经将BinPackArguments设置为true,但Mozilla样式没有。
如果不将AlignAfterOpenBracket设置为Align,clang-format有时会倾向于将所有参数放在第二行,而不是只将与其他参数不一致的单个参数放在第二行。大多数预定义样式已经将AlignAfterOpenBracket设置为Align,但WebKit样式没有。
有关这些设置的更多详细信息,请参阅documentation。
我的测试是用clang-format 6.0.0完成的。也许您有一个较早的版本不支持所有这些。
https://stackoverflow.com/questions/32351654
复制相似问题