如何生成vscode调试时传递给python的参数?
0. 动机
我们在使用vscode调试python文件时,经常需要将一个shell脚本中的命令填写到launch.json文件中,这在参数特别多的时候是个非常费劲的工作。
比如,有如下shell脚本,需要调试:
python -m train.py \
--model_name ${MODEL} \
--data_name ${DATA} \
--batch_size ${TRAIN_BATCH_SIZE} \
--epoch ${EPOCH}
...
launch.json可能就需要这么写:
{
"name": "Python: 当前文件",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"justMyCode": false,
"args": [
"--model_name", "imagenet",
"--data_name", "/path/to/your/data/",
"--batch_size", "4",
"--epoch", "3"
],
"env": {
"CUDA_VISIBLE_DEVICES": "4"
}
}
这么复杂的argrs要手动写到launch.json无疑是一个令人头大的工作。
1. 方法
因此,本人写了一个小工具,可以酌情参考使用:
https://horizon86.github.io/2025/04/03/vscode-args-generate/
使用方法:
在shell脚本前加一个set -x,开启命令回显,然后运行一下上面的脚本,把要执行的命令贴到上面网站中,点击转换即可。

浙公网安备 33010602011771号