mik*_*ana 4 javascript refactoring parsing abstract-syntax-tree
我经常需要在重构代码时重命名变量,我目前使用正则表达式以一种有点hacky的方式进行 - 由于缺乏实际结构,我最终不得不使用愚蠢的文本解决方法,例如,将“req”重命名为“request”并避免类似名称的副作用,如“需要”。
想想这些东西:这有点像用正则表达式修改 DOM:它不起作用。
我了解了 AST 和 Esprima 等代码结构修改工具。是否有重命名变量的工具,基于 Esprima 或其他?
看起来http://graspjs.com/正是这样做的。
grasp selector --replace replacement file.js
Run Code Online (Sandbox Code Playgroud)
例如,将“el”重命名为“element”:
grasp '#el' --replace 'element' index.js
Run Code Online (Sandbox Code Playgroud)
Visual Studio Code还包括一个真正的替换工具。只需右键单击一个令牌并选择重命名符号。