如何快速将文件/模块中的函数转换为类?批量转换方案问询
快速将批量函数转换为类方法的方案(针对Sublime Text)
当然有快捷方法啦!不用一个个手动修改,下面给你几个高效的实现方式,尤其适合Sublime Text环境:
一、原生正则替换(无需插件,最快最直接)
这是最推荐的方法,Sublime自带强大的正则替换功能,几步就能搞定:
- 打开目标文件,按下
Ctrl+H(Windows/Linux)或Cmd+H(Mac)调出替换面板。 - 点击面板左上角的
.*按钮,开启正则匹配模式。 - 在「查找内容」框中输入:
def (func_\d+)\((.*)\): - 在「替换为」框中输入:
(注意开头有4个空格,用来缩进类方法)def \1(self, \2): - 点击「全部替换(Replace All)」,瞬间所有函数都会自动添加
self参数并完成缩进。 - 最后在文件开头手动添加一行
class MyClass():即可,或者也可以用正则把所有函数包裹进去,但手动加更简单直观。
二、Sublime插件辅助(可视化批量编辑)
如果你更喜欢可视化的批量操作,可以借助插件:
- 通过Sublime的Package Control安装
MultiEditUtils插件。 - 按下
Ctrl+F查找def func_,点击「Find All」,此时所有函数定义行的光标会被同时选中。 - 按
→键把光标移到每个函数的括号内部开头位置,输入self,,所有函数会批量添加这个参数。 - 再次选中所有函数行,按
Tab键完成缩进,最后添加上类的定义即可。
三、额外小技巧:自动包裹类结构
如果想连类的包裹也自动化,可以用Sublime自带的Emmet功能:
- 选中所有已经处理好的带缩进的函数。
- 按下
Ctrl+Shift+G(或右键选择「Wrap with Abbreviation」)。 - 输入
class MyClass()并回车,选中的内容会自动被包裹成完整的类结构。
亲测这些方法处理100个函数只需要几秒,完全不用手动重复劳动!
内容的提问来源于stack exchange,提问作者toto_tico
相关产品推荐
相关产品推荐

