C/C++ 如何在 VScode 中的同一行格式化 if 条件的单个语句

问题描述 投票:0回答:2

如果在 C/C++ 中声明条件后不使用花括号,则函数体将直接成为下一条语句; for 循环也是一样的(while、for 等...)。

我希望格式化程序将此语句放在同一行,而不是带有缩进的下一行。

我的代码如下所示:

if (/*condition*/)
    /*body*/

我希望它看起来像这样:

if (/*condition*/) body

有没有办法以这种方式格式化它?请注意,这是 only 当不使用大括号时,我仍然希望大括号正常工作,即(在下一行)。

c++ c visual-studio-code formatting code-formatting
2个回答
0
投票
  1. 如果您的身体有单线- if(条件)体

示例:if (x == 1) cout << "YES" << "\n";

  1. 如果你的身体有多条线- if (条件) {body}

示例:if (x == 1) {cout << "YES" << "\n"; return;}

希望这能回答您的疑问。


0
投票

我已经找到解决办法了!在您的用户设置 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}"
© www.soinside.com 2019 - 2024. All rights reserved.