如何在VSCode中为所有Python函数批量添加@typechecked装饰器?
在VSCode中批量为Python函数添加@typechecked装饰器(保留缩进)
- 打开VSCode的全局查找替换(快捷键
Ctrl+Shift+H),在顶部文件筛选框输入*.py,确保仅处理Python文件。 - 点击查找框右侧的正则表达式开关(图标为
.*),启用正则匹配模式。 - 在查找内容框中输入正则表达式:
说明:^(\s+)def\s+(\w+)\(^匹配行开头,(\s+)捕获函数定义前的所有缩进(空格/制表符),def\s+(\w+)\(匹配函数起始定义并捕获函数名。 - 在替换内容框中输入:
说明:$1@typechecked\n$1def $2($1复用捕获的缩进,保证装饰器和函数缩进完全一致;\n换行后再次用$1维持函数的缩进层级,$2复用捕获的函数名。 - 先点击查找全部(Find All)预览匹配结果,确认无错误匹配后,点击替换全部(Replace All)完成批量操作。
注意事项
- 若存在多行参数的函数定义(比如
def func(\n a, b):),上述正则无法匹配,可调整正则为^(\s+)def\s+(\w+)\s*\(兼容参数前的空格,但复杂多行定义可能需要手动补充。 - 替换前建议备份代码,避免意外情况导致代码丢失。
内容的提问来源于stack exchange,提问作者a.t.
相关产品推荐
相关产品推荐

