你好,我正在编写大量的服务器端JavaScript代码,希望在使用emacs编辑时能够进行重构。这可行吗?谢谢!
所谓重构,比如在eclipse编辑Java时,您可以将一个名为"variableOne"的变量重构为"variable1",现在您15次编写的所有"variableOne"都变成了"variable1"。
你好,我正在编写大量的服务器端JavaScript代码,希望在使用emacs编辑时能够进行重构。这可行吗?谢谢!
所谓重构,比如在eclipse编辑Java时,您可以将一个名为"variableOne"的变量重构为"variable1",现在您15次编写的所有"variableOne"都变成了"variable1"。
可能是Emacs中最复杂的JavaScript重构库是Magnar Sveen的js2-refactor
。它的支持的重构列表包括:
rv
是rename-var
:重命名指针上的变量及其词法范围内的所有出现。
这听起来很像你要找的东西。它还支持许多其他非常有用的常见重构操作。
假设您使用的是Emacs 24,我建议使用MELPA存储库进行安装。如果您仍在使用Emacs 23,则必须升级或手动安装package.el
才能使用MELPA。
js2-refactor
相比有一个项目概念,因此您可以在项目中跨多个文件重命名某个变量。它还提供其他功能,如jump-to-definition
和auto-completions
(这些功能非常准确)。mc/mark-all-like-this-dwim
,可以标记当前上下文中所选文本的所有出现次数,然后同时编辑所有出现次数。grep
缓冲区中进行的更改应用于相应的文件。当我必须在许多文件中替换单词时,这很有用,在这种情况下,使用rgrep
在多个文件中搜索该单词。然后在结果的grep
缓冲区中启用wgrep
,使用multiple-cursors
标记要替换的单词(也可以使用query-replace),进行更改,然后执行wgrep-save-all-buffers
,所有更改都将保存!