【问题标题】:How to format opening braces in C++ methods with astyle?c++ - 如何使用astyle格式化C++方法中的左大括号?
【发布时间】:2012-02-21 13:57:33
【问题描述】:

将函数的左大括号移到下一行是一种常见的做法。 如何在带有astyle(代码美化器)的类方法中应用这个?

示例:

// this is an initial C++ code
class Class
{
public:
    static int foo(bool x) {
        if (x) {
            return 42;
        } else {
            return 0;
        }
    }
};

修改后的版本应该是:

class Class
{
public:
    static int foo(bool x)
    { // this brace in next line
        if (x) {
            return 42;
        } else {
            return 0;
        }
    }
};

我所有的尝试都只适用于全局函数。

【问题讨论】:

标签: c++ astyle


【解决方案1】:

--style=kr / -A3--style=linux / -A8 选项也应该适用于类方法。

来自文档:

括号从命名空间、类和函数定义中断开。括号附加到函数中的语句。

【讨论】:

  • 您是否也在使用--indent-classes 选项?
  • --indent-classes 开关只增加缩进级别(也用于访问修饰符(例如 public:))
【解决方案2】:

我可以确认--style=ansi 在当前版本的 AStyle(此处为 v2.03)中执行此操作。

【讨论】:

    【解决方案3】:

    这件事真的取决于一个人的喜好和他的团队的喜好。 大多数 IDE 都遵循您在第一个示例中给出的括号。他们还使用彩色填充物来指出起始支撑和结束支撑。 如果您将鼠标指针指向结束大括号,它也会为其起始大括号着色。

    【讨论】:

    • 我想对您的答案投反对票,因为您似乎没有阅读该问题。他没有就格式化征求意见。但是因为你是新人,所以你会毫发无损地继续前进 - 现在:-)
    猜你喜欢
    • 2018-01-01
    • 2016-12-01
    • 2021-04-03
    • 1970-01-01
    • 2018-08-01
    • 2021-02-26
    • 1970-01-01
    • 2019-01-04
    相关资源
    最近更新 更多