关于elisp代码重构,大家推荐什么package?有用 emacs-refactor(emr) 的吗?
提供部分的重构功能
Python ver.
1 个赞
没写过非常复杂或者庞大的 Emacs Lisp 代码,还没有意识到有「重构」需求,手动改改就 OK 了。
相比「重构」,我觉得 Emacs Lisp 缺少自动格式化的工具,我常常纠结于何时换行。自带的 pp.el
过于简单;lispy 好像有些辅助格式的命令,但不是独立的。
aggressive-indent 挺好用的,比保存时重排体验更好
缩进到不成问题,反正都是 Emacs 提供的,我没用 aggressive-indent,按 RET 时就会自动缩进(由默认开启的 electric-indent-mode
提供)。
aggressive-indent
确实挺好的,只有一个问题,对多个参数的缩进不够智能。如果第二个参数不换行,后续的参数对齐就很怪异了。不知道大家遇到没有?
(format "%s %s %s" 'a 'a
'a)
(format "a" 'a 'a
'a 'a)
这个行为不是挺正常的吗?
局部作用域重构用query-replace,全局重构用wgrep。elisp没有名字空间,不可能出现同名函数,不知道是不是因祸得福…