在emacs中,如何正确缩进嵌套函数
在 PHP 代码中,我当前使用以下 C 缩进样式:
(defconst my-c-style
'((c-offsets-alist . ((arglist-close . 0)
(substatement-open . 0)
(case-label . +)))))
问题是当我嵌套函数(或数组)时。我希望自动缩进按以下方式格式化:
myFunc(array(
'arg1' => $val1,
'arg2' => $val2,
'arg3' => $val3,
'arg4' => $val4,
));
但相反,我得到的是:
myFunc(array(
'arg1' => $val1,
'arg2' => $val2,
'arg3' => $val3,
'arg4' => $val4,
));
里面的代码总是与数组中的“a”对齐。有没有办法通过修改我的 C 风格来解决这个问题?目前我必须手动排列右括号。
In PHP code, I am currently using the following C indentation style:
(defconst my-c-style
'((c-offsets-alist . ((arglist-close . 0)
(substatement-open . 0)
(case-label . +)))))
The problem is when I nest functions (or arrays). I want automatic indentation to format the following way:
myFunc(array(
'arg1' => $val1,
'arg2' => $val2,
'arg3' => $val3,
'arg4' => $val4,
));
But instead, what I get is:
myFunc(array(
'arg1' => $val1,
'arg2' => $val2,
'arg3' => $val3,
'arg4' => $val4,
));
The code inside always lines up with the 'a' from array. Is there a way to resolve this by modifying my C style? Currently I have to manually line up the closing parenthisis.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试此处的建议,如果您正在使用 PHP 模式。
Try what is suggested here if you are using the PHP-Mode.
通过 MELPA 提供的当前 php 模式版本将根据您的喜好进行开箱即用的缩进;我尝试了 wordpress、pear、php 和 drupal 缩进模式——每一种都做了你想要的(drupal 每个缩进步骤使用 2 个空格)。
您可以通过在配置中设置
php-mode-coding-style
来配置缩进样式,也可以通过在中调用
缓冲区,通常绑定到c-set-style
来交互地尝试它们。 >php-modeCc 。
Current php-mode releases as available via MELPA will out-of-the-box indent to your liking; I tried wordpress, pear, php and drupal indentation modes -- every one did what you want (drupal using 2 spaces per indentation step).
You can configure the indentation style either by setting
php-mode-coding-style
in your config, or try them out interactivly by callingc-set-style
in aphp-mode
buffer, normaly bound toC-c .