如何在emacs的一列中对齐C ++类成员名称?

时间:2010-05-13 11:20:38

标签: c++ emacs indentation code-formatting

我想在一列中对齐所有C ++类成员名称(不要与成员类型混淆)。

让我们看一下入口处的例子:

class Foo
{
public:
    void   method1( );
    int                  method2( ); 
    const Bar *        method3( ) const; 
protected:
    float    m_member;
};

这就是我们最终想要的结果:

class Foo
{
public:
    void           method1( );
    int            method2( ); 
    const Bar *    method3( ) const; 
protected:
    float          m_member;
};

因此,最长的成员类型声明定义了类成员名称将与其对齐的列。 我如何在emacs中执行此类转换?

1 个答案:

答案 0 :(得分:6)

选择具有方法声明的区域

M-x align-regexp

输入字符串[^ ]+\((\|;\),然后按Enter

已编辑以在匹配中添加;,这也会对齐成员变量。