Emacs C ++ - 函数声明的模式缩进

时间:2011-03-16 18:09:19

标签: emacs indentation

我公司的编码标准已经改变了功能声明

void foo( int a, float* b);

现在必须写成:

void
foo(int    a,
    float* b);

变量的类型和变量的名称必须垂直对齐。

我正在使用带有c ++模式的emacs 23.2。

此模式排列每个变量类型,但不允许我缩进变量名称以匹配。

是否有内置设置允许此操作?

如果没有,我需要关闭什么才能允许我自由缩进我的变量名称?

2 个答案:

答案 0 :(得分:1)

选择带参数的行,然后选择 M-x align

答案 1 :(得分:1)

也许你想要的是M-itab-to-tab-stop)。

这会将光标移动到下一个制表位。制表位可以由变量tab-stop-list配置,默认为每八列。请注意,这将根据局部变量indent-tabs-mode插入空格或实际TAB字符。 (注意不要将此与tab-width混淆,这会影响实际TAB字符的显示方式。)

这并不总是使param名称在尽可能低的列中,例如,你可能最终得到

void
foo(int     a,
    float*  b);   // two spaces there

但请注意,这有点更易于维护 - 当添加具有较长类型名称的新参数时,您不一定要修复其余部分,只有在跨越选项卡列时才需要。< / p>