Visual Studio Codeティップス

今回もPowerShell Coreのソースコードを書いて実行するための環境としてVisual Studio Codeの使い方を紹介する。

Visual Studio Codeを使う場合、PowerShell CoreのインタラクティブシェルやPowerShell Coreシェルスクリプトと同じことを実行するには、そのための設定が必要になる。今回はそういった細かいティップスを紹介しよう。

Visual Studio Code: PowerShellエクステンション

Visual Studio CodeでPowerShell Coreを編集またはデバッグするにはPowerShellエクステンションが必要だ。前提条件としてPowerShellエクステンションはインストールしておこう。

使用するPowerShell Coreのバージョンを切り替える

PowerShell Coreは複数のバージョンを同時にインストールして使うことができる。現在のリリースバージョンはPowerShell Core 6.2系だが、同時にプレビュー版であるPowerShell 7 Preview版をインストールしておいて利用することもできる。

たとえば次のスクリーンショットはVisual Studio CodeがPowerShell Core 6.2.2を使っていることを示している。

Visual Studio CodeでPowerShell Core 6.2.2を使用中

この状態から別のバージョンに切り替えるには、まずF1キーを押してコマンドパレットを表示し、そこに「session」と入力して「PowerShell: Show Session Menu」を表示させてから、「PowerShell: Show Session Menu」を選択する。

コマンドパレットから「PowerShell: Show Session Menu」を選択する

すると次はコマンドパレットに「Switch to: PowerShell Core Preview」のようなメニューが表示されるので、これを選択する。このメニューが接続するPowerShell Coreを切り替える操作になっている。

コマンドパレットから「Switch to: PowerShell Core Preview」を選択する

すると次のスクリーンショットのように、Visual Studio Codeが接続する対象がPowerShell Core 6.2からPowerShell 7 Preview版に切り替わることを確認できる。

Visual Studio CodeがPowerShell 7 Preview版を使用している

Visual Studio Codeの右下を確認すると、「□ 6.2」といった表示が「□ 7.0」という表記に変わっていることがわかる。PowerShellエクステンションを使っている場合、ここに接続しているPowerShellのバージョンが表示されるようになる。ここで説明した切り替えはこの右下のバージョン番号をクリックすることからも行うことができる。クリックしたあとの手順は上記と同じだ。

PowerShell Core 6.2.2とPowerShell 7 Preview版をそれぞれ使用するVisual Studio Code

このため、異なるバージョンのPowerShell Coreを同時に使うことも可能だ。上記スクリーンショットはVisual Studio Codeのウィンドウを2つ表示させ、それぞれ異なるバージョンのPowerShell Coreへ接続したものだ。異なるバージョンを同時に使用できることがわかる。

実行前に引数を指定する

シェルからPowerShell Coreのインタラクティブシェルを起動したり、シェルスクリプトにして実行するようなケースであれば、PowerShell Core実行環境にオプションを指定することができる。Visual Studio Codeから同じことをするには、少々別の手順を経る必要がある。

まず、デバッグ実行用の設定ファイル(launch.json)が必要になる。フォルダをオープンしてあればこのファイルは自動的に作成されている。フォルダをオープンしていない場合にはフォルダをオープンするとともに、場合によっては次のスクリーンショットのようにギアのアイコンをクリックして明示的に設定ファイルを作成する必要がある。

まだ作成されていなければフォルダをオープンしてからギアアイコンをクリックして設定ファイル(launch.json)を明示的に作成しておく

この状態でデバッグビューを表示させ、設定を「PowerShell Launch Current File」から「PowerShell Launch Current File w/Args Prompt」に変更する。これで実行前に引数の指定を求められるようになる。

デバッグの設定を「PowerShell Launch Current File w/Args Prompt」に変更する

ここまで設定すると、デバッグ実行を開始すると、次のように実行前にランタイムに渡すオプションの指定を求められるようになる。これで任意の引数を指定してデバッグを実施できるようになる。

デバッグ実行の前に引数を指定する

参考資料