clang-format和STDMETHOD

时间:2017-10-30 09:03:07

标签: clang-format

我甚至喜欢在Windows代码上使用clang-format,但是当我必须格式化任何COM对象时,一些COM宏会导致它出错

给出以下课程

class A
{
public:
    int method( int foolonglongbar1, int foolonglongbar2, int foolonglongbar3, int foolonglongbar4, int foolonglongbar5) override;

    STDMETHOD(method) (int foolonglongbar1, int foolonglongbar2, int foolonglongbar3, int foolonglongbar4, int foolonglongbar5) override;
};

以下.clang格式文件

Language:        Cpp
AlignAfterOpenBracket: AlwaysBreak

我得到以下

class A {
public:
  int method(
      int foolonglongbar1, int foolonglongbar2, int foolonglongbar3,
      int foolonglongbar4, int foolonglongbar5) override;

  STDMETHOD(method)
  (int foolonglongbar1, int foolonglongbar2, int foolonglongbar3,
   int foolonglongbar4, int foolonglongbar5) override;
};

这是好的,除了STDMETHOD()调用,这只是一个MS宏正在缩进。

是否有人知道是否可以告诉clang-format使其缩进参数

class A {
    public:
      int method(
          int foolonglongbar1, int foolonglongbar2, int foolonglongbar3,
          int foolonglongbar4, int foolonglongbar5) override;

      STDMETHOD(method)
         (int foolonglongbar1, int foolonglongbar2, int foolonglongbar3,
          int foolonglongbar4, int foolonglongbar5) override;
};

1 个答案:

答案 0 :(得分:2)

<items>中添加以下行为我解决了该问题:

.clang-format