pythonをVSCode上でデバッグしようとするときに、引数を渡して実行したいってとき、ありますよね?
あと、書き方によって実行するディレクトリがファイルがある場所じゃないとダメな場合もありますよね?
これらの問題を解決するlanche.jsonの記載はズバリこれです
{
"version": "0.2.0",
// 実行時に引数入力を出す
"inputs": [
{
"type": "promptString",
"id": "prompt",
"description": "引数を入力してください。",
"default": ""
}
],
"configurations": [
{
"cwd": "${fileDirname}", // カレントディレクトリをファイルがある位置に移動
"args": ["${input:prompt}"], // 入力した引数つきで実行
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal"
}
]
}
これで、対象のファイルを開いてF5キーを押すと、入力ボックスが出ますので、引数が必要であれば入力してenterすれば引数付きでデバッグ実行されます。
pickString というタイプにすると、選択肢から選べるようになるようです。
"inputs": [
{
"type": "pickString",
"id": "choice",
"description": "引数を以下の選択肢から選んでください。",
"options": ["選択肢A", "選択肢B", "選択肢C"],
"default": "選択肢A"
}
],
cwd はデバッグ実行時のカレントディレクトリを変更するために指定しています。一つのフォルダだけで作っていれば良いのですが、複数階層に分かれているような形にしてしまうと、外部ファイルがinportできないというようなトラブルになりますので、基本的に実行したいファイルがあるディレクトリで実行するような設定のほうが良いかと思います。