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

发布于 2024-09-01 22:09:13 字数 541 浏览 4 评论 0原文

我想将所有 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 中执行这样的转换?

I would like to align all C++ class member names ( do not confuse with member types ) in one column.

Lets look at the example of what we have at entrance:

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

and this is what we would like to have at the end:

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

So the longest member type declaration defines the column to which class member names will be aligned.
How can i perform such transformation in emacs ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

倾城泪 2024-09-08 22:09:13

选择包含方法声明的区域

M-x align-regexp

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

Edited 添加 ; 在匹配中,它也对齐成员变量。

Select the region with the method declarations

M-x align-regexp

Enter the string [^ ]+\((\|;\) and press Enter

Edited to add the ; in the matching, which aligns the member variable as well.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文