nny*_*thm 23 ide emacs
如何在emacs中重命名变量?Eclipse有一个简洁的"重命名"重构操作,它允许您以一种范围感知方式重命名变量,这比使用本地化替换字符串更容易使用,特别是如果变量名称是像e这样的字符.emacs是否内置了类似的功能?
dol*_*nko 19
新的Emacs必须M-s .选择光标下的符号,然后您可以C-M-%使用当前选定的符号来执行替换.注意这只是简单的字符串替换,而不像IDE'重命名变量'功能.
M-s .
C-M-%
sco*_*zer 10
您可以使用缩小仅显示缓冲区的一部分,搜索/替换将仅在缩小的区域中运行.例如,您可以使用C-x n d缩小到当前函数,或选择您想要和执行的区域C-x n n.进行搜索/替换,然后再进行扩展C-x n w.对于单个字母变量来说e,query-replace-regexp使用C-M-%和使用正则表达式一样\be\b,它只适用于个人e而不是其他单词.
e
query-replace-regexp
\be\b
编辑:想到另一件事.如果选择区域,则搜索/替换仅适用于该区域.所以你可以选择要替换的范围,然后再做query-replace-regexp.
Mor*_*kus 8
iedit就是为了这种事而做的.
Ehv*_*nce 5
在 Python 中,这在 Rope 重构库中或多或少是可行的,为此我建议在 MELPA 中使用emacs- traad(安装简单且易于使用)。
安装后,我们有了M-x traad-rename重命名项目中变量的功能。
M-x traad-rename
为了更简单的搜索和替换,我们有前面提到的 Iedit 和 Projectile 的projectile-replace.
projectile-replace
Lau*_*nis 5
随着Emacs中LSP支持的出现,除了缩小/iedit/multicursor 等其他答案中的选项外,实际的“重命名”重构最终变得可行,这取决于底层语言服务器支持的内容。
lsp-rename
eglot-rename
归档时间:
13 年,9 月 前
查看次数:
9261 次
最近记录:
6 年,2 月 前