はじめに
PowerShellを推している理由の一つとして、デバッグ機能が充実している点が挙げられます。特に以下の2つは神機能です。
Breakpoint
Immediate Window
今回はこの2つの機能をVS Codeで扱う方法を紹介したいと思います。
その前に
VS CodeにPowerShell
の拡張機能が入っている前提で話をすすめていきます。

Microsoftが純正のものを出しています。
Breakpointのやり方
コードの左側に赤色の丸をつけることができるので、それをブレークポイントを追加したい場所でクリックします。

あとは右上にある再生ボタンか、ターミナルによりスクリプトを実行します。

停止している状態で変数などのカーソルを合わせると、その内容が表示されます。

Immediate Windowのやり方
Breakpoint
も素晴らしいのですが、Immediate Window
のほうが個人的にもっと感動できると思います。
ちなみにVS Codeだと名前の正式な呼び方が分かっていませんが、Visual StudioやJetBrains RiderではImmediate Window
という名前で呼ばれています。
www.hanachiru-blog.com
Immediate Window
はデバッガーによりプログラムが一時停止状態のときに処理を挟み込むことができる機能です。例えば変数の中身を調べたり、変数に別の値を代入してみたりできます。
上記手法でブレークポイントによりプログラムが一時停止されると、VS Codeの下側にImmediate Window
が立ち上がっていることが確認できます。

[DBG]: PS /Users/-----/Desktop/pwsh-test>$name$_.FullName -------------/Users/-----/Desktop/pwsh-test/hoge [DBG]: PS /Users/-----/Desktop/pwsh-test>$name="Hello, World" [DBG]: PS /Users/-----/Desktop/pwsh-test>$name Hello, World
上記コードを入力すると、$name
を確認した後、変数の値を変更しています。この状態で再度プログラムを再開すると、変更した状態で処理が進行していきます。
あとがき
C#使いとしては、PowerShellかなりオススメです。bash
はとてもつらい...