如果在 C/C++ 中声明条件后不使用花括号,则函数体将直接成为下一条语句; for 循环也是一样的(while、for 等...)。
我希望格式化程序将此语句放在同一行,而不是带有缩进的下一行。
我的代码如下所示:
if (/*condition*/)
/*body*/
我希望它看起来像这样:
if (/*condition*/) body
有没有办法以这种方式格式化它?请注意,这是 only 当不使用大括号时,我仍然希望大括号正常工作,即(在下一行)。
示例:if (x == 1) cout << "YES" << "\n";
示例:if (x == 1) {cout << "YES" << "\n"; return;}
希望这能回答您的疑问。
我已经找到解决办法了!在您的用户设置 json 中: 而不是声明“C_Cpp.clang_format_style”:“Microsoft”
您可以声明样式并编辑它的某些方面。例如:
"C_Cpp.clang_format_style": "{BasedOnStyle: Microsoft, AllowShortIfStatementsOnASingleLine: AllIfsAndElse}
另一个例子,我个人不喜欢在访问说明符(公共/私有/受保护)之后缩进类内部的代码,因此您也可以添加以下内容:
"C_Cpp.clang_format_style": "{BasedOnStyle: Microsoft, AllowShortIfStatementsOnASingleLine: AllIfsAndElse, AccessModifierOffset: 0}"