首页 > 解决方案 > GNU 缩进:它是否支持 C++

问题描述

我使用indent来格式化我的 C 代码,效果很好。

现在我正在使用 C++,但我仍然想使用缩进。但是,我发现它并不能很好地支持类声明。这是一个例子:

class Test
{
public:
    Test ();
    void ttt ();
protected:
    virtual void func ();
};

这是一个名为的头文件test.h,使用像这样的缩进后export VERSION_CONTROL=never; indent -bli0 -blf -bls -nbfda -npsl -i4 -ts4 test.h,它变成如下:

class Test
{
  public:
        Test ();
        void ttt ();
  protected:
          virtual void func ();
};

如您所见,在public和之前protected,添加了两个空格并且virtual vodi func();根本没有对齐。

所以缩进不支持C++?

标签: c++vimindentation

解决方案


不,GNUindent不支持 C++。

引用GNU indent 手册的第 1.12 节:

虽然尝试让缩进适用于 C++,但它在任何 C++ 源代码上都做得不好,除了最简单的。


推荐阅读