1

我正在使用 Austin Haas 的动作脚本模式和 Emacs 23.3.1。当我在 ActionScript 中编写一个带有很多参数的函数时,我喜欢将它分成几行。我希望它看起来像

public function foo(bar:Bar,
                    baz:Baz,
                    qux:Qux):void {...}

但是随着动作脚本模式的缩进,它看起来像

public function foo(bar:Bar,
    baz:Baz,
    qux:Qux):void {...}

这让我很恼火。有没有什么办法解决这一问题?

4

1 回答 1

1

一个简短的回答是:我看不出有什么好方法可以做到这一点。今天缩进仅基于上一行,如果使用 E4X,或者嵌套对象字面量或数组字面量等,它就完全被打破了:(

但是,如果您不介意将一些手工应用于要修改的每个此类实例,则以下内容可能会对您有所帮助:

(defun as3-align-regex ()
  (interactive)
  (let ((align-to-tab-stop nil))
    (align-regexp (region-beginning) (region-end)
          "\\(\\s(\\|\\s-\\)\\(\\sw+\\)" 1 1 nil)))

请注意,您需要以从第一个括号、括号或空格开始直到要对齐的最后一个术语的方式选择区域。这有点难看,但一个好的解决方案需要太多的努力。

于 2012-05-19T10:48:31.247 回答