プログラムを中心とした個人的なメモ用のブログです。 タイトルは迷走中。
内容の保証はできませんのであしからずご了承ください。

2020/01/06

VSCode での Python のデバッグ設定

update2020/01/15 event_note2020/01/06 0:41

Visual Studio Code で Python のデバッグをする際の設定についてです。

環境

  • Windows 10
  • Visual Studio Code 1.41.1

デバッグ構成ファイル(launch.json)の作成

デバッグメニューを選択し、launch.json ファイルを作成します。 をクリックします。

Debug Configuration の選択が表示されるので、Python File を選択します。

すると、以下のような内容で launch.json がワークスペースの .vscode フォルダ内に作成されます。

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal"
        }
    ]
}

基本的にはこれだけで Python のデバッグが行えます。

引数を指定する

デバッグ時に引数を指定したい場合は launch.jsonargs の項目を追加します。

"configurations": [
    {
     // 省略

        "args": [
            "foo",
            "bar"
        ]
    }
]

引数0にはプログラム名が入るので、引数1からを args に記述します。

サンプル

import sys

print("Hello World")
print("sys.argv[0] : ", sys.argv[0])
print("sys.argv[1] : ", sys.argv[1])
print("sys.argv[2] : ", sys.argv[2])

実行結果

Hello World
sys.argv[0] :  HelloWorld.py
sys.argv[1] :  foo
sys.argv[2] :  bar

実行ファイルを固定にする

VSCode でデバッグを開始するファイルは、デフォルトではアクティブになっているファイルですが、いつも同じファイルでデバッグを開始したい場合などは launch.jsonprogram を変更します。

デフォルトでは以下のようになっています。

"program": "${file}",

${file} は現在アクティブになっているファイル名が入ります。
これを例えば以下のように変更します。

"program": "${workspaceFolder}\\HelloWorld.py",

${workspace} はワークスペースのルートを表します。