如何生成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,开启命令回显,然后运行一下上面的脚本,把要执行的命令贴到上面网站中,点击转换即可。

posted @ 2025-04-03 18:43  王冰冰  阅读(180)  评论(0)    收藏  举报