使用从命名空间继承的类的Eclipse相对缩进

Eclipse relative indentation with classes inherited from the namespace

本文关键字:Eclipse 相对 缩进 继承 命名空间      更新时间:2023-10-16

你好,我正试图使Eclipse-CDT (Indigo)缩进c++类方法相对于公共/保护/私有关键字;但是预料到从某个命名空间继承的类会遇到一些麻烦;下面是一个例子:

// some namespaced class
namespace BarSpace {
    class Bar {
    };
}
// as it indented by eclipse:
class Foo1 : public BarSpace::Bar {
    public:
    void foo();
};

如你所见- eclipse缩进foo()方法错误;不相对于公共:关键字。我玩了一下,发现只有当Foo*类从命名空间类继承时才会发生这种情况;这样的解决方法可能有效:

// workaround:
using namespace BarSpace;
class Foo2 : public Bar {
    public:
        void foo();
};

只是我不想用我的结构污染命名空间。我希望同时有相对缩进和命名空间继承;如:

// as i want it to be indented:
class Foo3 : public BarSpace::Bar {
    public:
        void foo();
};

如何将Eclipse配置为我想要的工作?谢谢。

有一个eclipse的样式插件。安装它,你可以调整很多东西。

astyleclipse.sourceforge.net/

也许你的问题也可以这样解决

Eclipse -> Preferences -> C/c++ -> CodeStyle -> Formatter。

火星月食。