Visual Studio Codeで細かく実行していく

前回は、先日リリースされたPowerShell 7.0.0 Preview3をご紹介したが、今回はVisual Studio Codeの話に戻ろう。

前々回に続き、Visual Studio CodeでPowerShell Coreスクリプトを作成する方法を取り上げていく。ある程度操作方法に慣れてくれば、PowerShell Coreシェルでコーディングしていくよりも、Visual Studio Codeでコーディングしながら実行していく方が楽になっていく。

まず、前回紹介した方法でPowerShell Coreのスクリプトを作成する状態を整えておく。もちろんPowerShellエクステンションもインストールしておく。

PowerShell Coreのスクリプトを記述する環境を整える

コーディングしていて欲しくなるのはマニュアルだ。Visual Studio Codeの場合、マニュアルを読みたい対象の上でメニューを表示させ、そこから「Get Help for Command」などを選択することでオンラインヘルプを表示させることができる。

対象ワードの上でメニューを表示させ、「Get Help for Command」を選択する

この機能を使うとシステムでデフォルトに設定してあるWebブラウザでオンラインマニュアルが表示される。Write-Hostコマンドレットの上で「Get Help for Command」を選択すれば、次のようにWrite-Hostコマンドレットのマニュアルページが表示される。

システムでデフォルトに設定されているWebブラウザでマニュアルが表示される

コーディングする段階ではマニュアルをじっくり読むこともあるが、とりあえずサンプルコードを読みたいということが多い。サンプルコードから使い方や機能を知る方法だ。ある程度PowerShell Coreの基礎が身についていれば、マニュアルを頭から読むよりもサンプルコードを読んだ方が作業が早く済む。

メニューから「Get Help for Command」を選んで表示させたマニュアルにはサンプルコードも豊富に掲載されている。

Webで公開されているマニュアルにはサンプルコードも豊富に掲載されている

あとは実際にコードを書いて試して、コードを書いて試して、を細かく繰り返していけばよい。たとえば次のスクリーンショットはWrite-Hostコマンドレットをちょっとだけ書いてから実行した場合の結果だ。ウィンドウ下の統合ターミナルに実行結果が表示されていることがわかる。

ちょっと書いて実行するサンプル

実行はメニューから「Debug」→「Start Debugging」を選択すれば実施できる。しかし、毎回毎回メニューから選択するのは面倒だ。F5がショートカットキーに設定されているので、F5を押して実行する。

次のサンプルは先ほどのコマンドレットに-NoNewLineオプションを指定したものだ。改行コードが出力されないため、実行結果が改行されていないことを確認できる。

Write-Hostに-NoNewLineオプションを追加した結果

ちょっと書いてF5を押す、ちょっと書いてF5を押す。PowerShell Coreシェルでコーディングを行っていた場合には基本的に改行すればコードが実行されたが、Visual Studio Codeではその代わりにF5を押す。次のサンプルは-NoNewLineを消して-ForegroundColorと-BackgroundColorを使ったものだ。

出力の色指定もVisual Studio Codeの統合ターミナルで確認できる

PowerShell Coreシェルとの違いは実際にはそれほどないというか、同じものが実行されているので、次のようにエイリアスを確認することもできる。

Visual Studio Codeも実際にはPowerShell Coreシェルで実行するのと同じ

そしてマニュアルもGet-Helpコマンドレットを使って表示させることもできる。-Fullを指定すればそれなりに長いヘルプを得ることができる。

Get-Helpコマンドレットで使い方を調べるというやり方もできる

Webの方のマニュアルを表示する方法は、メニューから「Get Help for Command」を選択するだけではなく、Get-Helpコマンドレットを使うという方法もある。Get-Helpコマンドレットに-Onlineオプションを指定すると、先に取り上げたようにWebブラウザで該当するページが表示される。

コーディングをしている間はキーボードの方が使い勝手がよく、さらにPowerShellエクステンションが入力補完を行ってくれるため、こちらの方法の方が楽にオンラインマニュアルを表示させることができるかもしれない。

Get-HelpコマンドレットによるWebの方のマニュアルの表示

このようにVisual Studio Codeを使う方法はPowerShell Coreシェルを使う場合とそれほど大きく変わるということはない。Visual Studio Codeを使えば便利なサポート機能が自動的に機能するし、ぜひとも慣れてほしい。Windows、macOS、Linuxのどのプラットフォームでも動作するしとても便利である。

参考資料