如何快速将文件/模块中的批量函数转换为类?
快速将批量函数转换为类方法的方案
当然有快捷实现的方法啦!不用一个个手动修改,不管是用Sublime Text原生功能还是轻量插件,都能几秒搞定100个函数的转换。下面给你最实用的两种思路:
一、Sublime Text 原生正则替换(无需插件)
这是最直接高效的方法,完全依赖编辑器自带功能:
- 打开目标文件,按下
Ctrl+H(Windows/Linux)或Cmd+H(Mac)打开替换面板 - 点击面板左下角的
.*按钮,开启正则表达式匹配模式 - 在「查找内容」输入框中填入:
这个正则会匹配所有def func_(\d+)\((.*?)\):func_数字格式的函数定义,同时捕获函数的参数部分 - 在「替换为」输入框中填入:
这里的def func_\1(self, \2):\1会引用之前捕获的函数数字后缀,\2引用原函数的参数,同时自动添加self作为第一个参数 - 点击「替换全部(Replace All)」,所有函数会瞬间完成参数修改
二、批量缩进,完成类结构
修改完函数参数后,只需两步就能完成类封装:
- 在文件最顶部添加类定义:
class MyClass(): - 选中所有修改后的函数行,按下
Tab键一次,将所有函数缩进一级,使其成为MyClass的类方法
可选:Sublime 插件辅助(非必需)
如果平时经常做类似批量编辑,也可以装一些插件提升效率:
- MultiEditUtils:支持多光标批量编辑,适合更复杂的自定义修改场景
- Text Pastry:可以快速给多行添加前缀或修改格式,但对于这次的需求,正则替换已经足够高效
亲测这个流程处理100个函数完全没压力,全程不超过10秒~
内容的提问来源于stack exchange,提问作者toto_tico
相关产品推荐
相关产品推荐

