小智 29
在最近的Emacs版本(24)中,Semantic能够做到这一点.
T.E*_*.D. 13
我做了很多,所以我也在等待其他回复.
我所知道的唯一技巧是非常基本的.在重构代码时,以下是我在Emacs中最好的朋友:
M-x query-replace
Run Code Online (Sandbox Code Playgroud)
这允许您进行全局搜索和替换.当您将方法和常用数据移动到其他类或名称空间时,您将会做到这一点.
C-x 3
Run Code Online (Sandbox Code Playgroud)
这为您提供了一个并排显示两个缓冲区的显示器.然后,您可以继续在其中加载不同的文件,并将光标从一个移动到另一个C-x o.这是非常基本的东西,但我提到它是因为它使下一个有多强大......
C-x (
(type any amount of stuff and/or emacs commands here)
C-x )
Run Code Online (Sandbox Code Playgroud)
这是您在emacs中定义宏的方法.任何时候你发现自己需要反复对一堆代码做同样的事情(而且它对于查询替换来说太复杂了),这是一个救星.如果你陷入困境,你可以点击C-g停止宏定义,然后撤消(C-_)直到你回到你开始的地方.调用宏的关键是C-x e.如果你想多次这样做,你可以先点击Esc并输入一个数字.例如:Esc 100 C-x e将尝试调用您的宏100次.
(注意:在Windows上,您可以通过按Esc键或按住Alt键获得"Meta".
有一个新工具使用emacs语义模式框架:
很棒的演示:https://github.com/tuhdo/semantic-refactor/blob/master/srefactor-demos/demos.org
用得到它M-x package-install从MELPA或 https://github.com/tuhdo/semantic-refactor/.