【问题标题】:In emacs, how to properly indent nested functions在 emacs 中,如何正确缩进嵌套函数
【发布时间】:2011-07-18 22:14:14
【问题描述】:

在 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 风格来解决这个问题?目前我必须手动排列右括号。

【问题讨论】:

标签: php emacs indentation


【解决方案1】:

如果您使用的是 PHP 模式,请尝试here 的建议。

【讨论】:

  • 链接的页面没有解决我的问题。如果我使用该页面上的配置,我想要的缩进不会发生。
【解决方案2】:

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

您可以通过在配置中设置php-mode-coding-style 来配置缩进样式,或者通过在php-mode 缓冲区中调用c-set-style 以交互方式尝试它们,通常绑定到C-c .

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-03
    • 1970-01-01
    • 2021-11-12
    • 2010-10-14
    • 1970-01-01
    • 2017-06-03
    相关资源
    最近更新 更多