当ブログではたまにしか記事にならない、PowerShellの話です。
PowerShellのスクリプトを編集・デバッグする際は、WindowsについているPowerShell ISE
を使う方法もありますが、何かと使いにくいです。*1
私が勧めるのは、Visual Studio Code
です。
バージョン等
ツール等 | バージョン |
---|---|
Visual Studio Code | 1.20.1 |
PowerShell | 5.1.16299.248 |
PowerShell(VSCode拡張機能) | 1.5.1 |
PowerShellについて(ニュース)
Windows PowerShell - Wikipedia
PowerShellといえば、Windows上で動作するスクリプト言語でした。
.NET Framework上で動作*2していました。
2018年1月、ついに.NET Core
へ移植され、クロスプラットフォーム対応となりました。
今後は、PowerShellをLinux等でも動かせます。(要インストール)
非常にわかりやすかったので、リンクさせていただきました。
Visual Studio Codeの拡張機能
名前そのままなPowerShell
を使います。
当ブログ執筆時点で、バージョン1.5.1
です。
下記の通り、1.5.1
の時点で、すでにPowerShell6.0
に対応しています。
よいところ
ブログを始めたころに書いた、以下の記事のスクリプトで紹介します。
デバッグできる
PowerShell ISE
と同じですが、デバッグできますし、ブレークポイントも配置できます。
関数の参照一覧が出てくる
ファイルの先頭で関数を定義しています。
VSCodeを使うと、参照している箇所の数が表示され、クリックすると、参照箇所が画像のように表示されます。
関数や変数の定義にジャンプできる
Visual Studioや、IDEを使ったことがある人なら、おなじみの機能です。
F12
キーで、その定義元にジャンプできます。
IntelliSenseが早いうえに親切
コマンド名の入力時は、ある程度名称が近いものを出してくれます。*3
コマンドレットの引数入力時は、入力できるパラメーター一覧と、要求型を表示してくれます。
.NETのメソッド等もIntelliSenseで表示してくれる
PowerShellで細かい処理を行う際、どうしても.NETの処理に頼る場合があります。
そういう場合でも、入力補完が行われます。
スニペットがある
vscode-powershell/PowerShell.json at master · PowerShell/vscode-powershell · GitHub
リンク先のJsonファイルに定義されている通り、多種多様なスニペットが用意されています。
私も全体を見ていませんが、こんなのがありそうです。
- ex系(スクリプト例)
- for、for reverse、foreach
- function、method、class等
構文チェックが丁寧
例えば、未使用の変数がある場合、警告が表示されます。*4
上手に使えば、スクリプトの品質向上にも役立ちそうです。
まとめ
Visual Studio Codeだと、PowerShellはかなり扱いやすくなります。
特に、複数のスクリプトに分けて処理を記載する場合は、Visual Studio Codeのフォルダをルートとして開く特性と相まって、非常に扱いやすくなります。
参照先に飛ぶこともできるので、複数ファイルに分けるのが、とても楽です。
おわりに
個人的には、PowerShellが便利すぎて、Pythonをスクリプトとして使用する機会がなかなか訪れない状況となっています。
単純に、PowerShellのほうが慣れているだけなのですが。
PowerShellを使いたい、と思う方がいれば、Visual Studio Codeはお勧めです。