初心者向け:PythonをVSCodeで引数付きデバッグする方法とデバッグの効率化

こんばんは。

みなさんVscodeでPythonのデバッグをしていて、引数をいれて実行してデバッグしたいことはないでしょうか?

私はよくありましたが、いままでやり方がわからず引数付きの場合はいつもコマンドプロンプトで実行していました。

でも、どうしてもデバッグしたいことってありますよね??

そこで、いろいろ調べたところ、引数付きでデバッグする方法を見つけましたので、共有したいと思います。

まず、引数付きで実行するには、実行したいファイルがあるフォルダをVSCodeにロード(認識させる)する必要があります。

まずはその方法を記載します。

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

こちらはすごく簡単で、まずVSCodeを開き、左のツールバーのところでエクスプローラを

選択し、表示された領域の枠にデバッグした.pyファイルがあるフォルダをドラッグ&ドロップします。

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

次はデバッグ時の情報設定です。

デバッグ情報設定

まず、実行したいファイルを選択します。

そして、左側のツールバーから「実行とデバッグ」というボタンをクリックします。

すると、「実行とデバッグ」の画面が表示されますので、その中の以下をクリックします。

「launch.jsonファイルを作成します。」

「Select a debug configuration」という窓が表示されるので一番上の下記を選択します。

Python File Debug the currently active Python file

すると以下のようなjsonファイルが表示されます。

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

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

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

はい。では引数を設定していきます。

引数の設定方法については、次ページに記載します。

引数情報の設定

先ほどのjsonファイルを以下のように「args」というパラメータを追加してください。

このargsというのが、引数を設定するオプションで、これはリストになっていますので、 カンマ(“,“) 区切りで改行して入れていけば、複数の引数を設定できます。

この際に、ひとつ上の “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つ付けてください。一つでは正しく認識されません。

はいでは実行してみます。

実行とデバッグ結果

↓の通り、引数が指定されて実行されます。

はい。いかがだったでしょうか?

簡単にできますが、地味に知らない人が多いのではないでしょうか?

私は調べてみるまで全く知らず、ずっと引数を使う場合はコマンドプロンプト + Printで頑張ってデバッグしていました。

すごく効率的にデバッグができるようになるとおもいますので、ぜひみなさんもやってみてください。

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

にいやん

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