VSCodeでPythonコードを効率的にデバッグする方法:コマンドライン引数付きデバッグをマスターしよう!

VSCodeでPythonコードをデバッグする際に、引数付きで実行したい場面は多くあると思います。しかし、従来のコマンドプロンプトで実行していた方法では、デバッグが非常に面倒でした。

この記事では、VSCodeのデバッグ機能を使って、引数付きでPythonコードを効率的にデバッグする方法を紹介します。

Vscodeへのフォルダ(ディレクトリ)のロード方法

まず、VSCodeにデバッグしたいPythonファイルがあるフォルダを認識させる必要があります。

  1. VSCodeを開き、左側のツールバーから「エクスプローラ」を選択します。
  2. 表示された領域に、デバッグしたいPythonファイルがあるフォルダをドラッグ&ドロップします。

これで、VSCodeがフォルダ内のファイルを読み込み、デバッグの準備が整いました。

上の画像のように、開いているエディターのところにデバッグしたファイルがあればOKです。

デバッグ情報設定

1.デバッグしたいPythonファイルを選択してください。

2.左側のツールバーから「実行とデバッグ」ボタンをクリックします。

3.「実行とデバッグ」画面が表示されるので、「launch.jsonファイルを作成します。」をクリックします。

4.「Select a debug configuration」というウィンドウが表示されるので、「Python File Debug the currently active Python file」を選択します。

これで、launch.jsonファイルが生成されます。このファイルは、デバッグ実行時に参照される設定ファイルです。

これは、以下のように実行したいファイルと同階層に「.vscode」という隠しフォルダの下に生成されます。

そして生成されたjsonファイルの中身が以下です。

これが、デバッグ実行するときに参照されて実行されます。

引数情報の設定

launch.jsonファイルに引数を設定するパラメータを追加します。

  1. launch.jsonファイルを開き、"configurations"配列内のオブジェクトに"args"というパラメータを追加します。
  2. "args"はリスト型なので、カンマ(,)区切りで改行して複数の引数を設定できます。
  3. 上記の"console": "integratedTerminal"の最後にカンマ(,)を入れるのを忘れないでください。
{
    // IntelliSense を使用して利用可能な属性を学べます。
    // 既存の属性の説明をホバーして表示します。
    // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal",
            "args":
            [
                "D:\\Pythonテスト\\sound_rec\\test"
            ]
        }
    ]
}

※ フォルダ指定の `\\` は2つ付けてください。一つでは正しく認識されません。

実行とデバッグ結果

設定が完了したら、デバッグを開始します。

  1. 「実行とデバッグ」画面で「Python: Current File」を選択し、緑色の再生ボタンをクリックします。

これで、引数が指定されてPythonコードが実行され、デバッグを開始できます。

まとめ

ちょっと設定するのが面倒くさいですが、VSCodeのデバッグ機能を使えば、引数付きでPythonコードを効率的にデバッグすることができます。

いざ設定さえ終わればコマンドプロンプトでのデバッグに比べて、はるかに簡単で便利なので、ぜひ活用してみてください。

Pythonについて勉強したい人は以下がおすすめです。私も持っていてたまに眺めて勉強していますものですのでぜひ購入して学習してみてください。

にいやん

出身 : 関西 居住区 : 関西 職業 : 組み込み機器エンジニア (エンジニア歴13年) 年齢 : 38歳(2022年11月現在) 最近 業務の効率化で噂もありPython言語に興味を持ち勉強しています。 そこで学んだことを記事にして皆さんとシェアさせていただければと思いブログをはじめました!! 興味ある記事があれば皆さん見ていってください!! にほんブログ村