在emacs中,如何正确缩进嵌套函数

发布于 2024-10-25 09:51:23 字数 655 浏览 2 评论 0原文

在 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 技术交流群。

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

发布评论

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

评论(2

私藏温柔 2024-11-01 09:51:23

尝试此处的建议,如果您正在使用 PHP 模式。

Try what is suggested here if you are using the PHP-Mode.

吃颗糖壮壮胆 2024-11-01 09:51:23

通过 MELPA 提供的当前 php 模式版本将根据您的喜好进行开箱即用的缩进;我尝试了 wordpress、pear、php 和 drupal 缩进模式——每一种都做了你想要的(drupal 每个缩进步骤使用 2 个空格)。

您可以通过在配置中设置 php-mode-coding-style 来配置缩进样式,也可以通过在 中调用 c-set-style 来交互地尝试它们。 >php-mode 缓冲区,通常绑定到 Cc 。

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 calling c-set-style in a php-mode buffer, normaly bound to C-c .

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