如何配置clang-format 14.0.6使单行while语句不拆分分号?
解决clang-format 14.0.6保留单行空while循环的问题
要让clang-format 14.0.6保留空的单行while循环(不把末尾分号拆到下一行),你需要在现有配置中补充关键选项,具体操作如下:
关键配置修改
在你的.clang-format文件中添加以下两项配置:
AllowShortLoopsOnASingleLine: true AllowShortBlocksOnASingleLine: Empty
你的原有配置已设置AllowShortFunctionsOnASingleLine: Empty,但针对循环的AllowShortLoopsOnASingleLine需要显式开启——WebKit风格默认禁用该选项,必须手动设置为true才能生效。
修改后的完整配置如下:
BasedOnStyle: WebKit IndentWidth: 4 Language: Cpp AlignAfterOpenBracket: Align AllowShortFunctionsOnASingleLine: Empty AllowShortLoopsOnASingleLine: true AllowShortBlocksOnASingleLine: Empty AlwaysBreakTemplateDeclarations: Yes BreakBeforeBraces: Allman BreakInheritanceList: BeforeComma ColumnLimit: 120 Cpp11BracedListStyle: true IndentCaseLabels: true IndentPPDirectives: BeforeHash NamespaceIndentation: All PenaltyReturnTypeOnItsOwnLine: 1000000 SortIncludes: false DeriveLineEnding: false UseCRLF: false
原理说明
AllowShortLoopsOnASingleLine: true:明确允许clang-format将短循环(包括仅含分号的空循环体)保持在同一行AllowShortBlocksOnASingleLine: Empty:确保空代码块(此处的分号等价于空循环体)不会被强制拆分换行
添加这两项配置后,clang-format就会保留你需要的单行while循环格式,不会将分号单独拆到下一行。
内容的提问来源于stack exchange,提问作者grmpyc8
相关产品推荐
相关产品推荐

