VSCodeでPowershell7をつかう
PowershellモジュールでPnP.Powershellを使いたくてUpdateしたところWindows Powershell 5.1では動かないとのことだったのでPowershell7系をインストールして、開発環境がISEではなくVS Code プラスPowershell拡張とMicrosoft さんが言うので動かすまでのメモ
ここに全部書いてあるんですけど、Microsoft にしろOracleにしろ技術文書はなんでこんなに読みにくく書いてあるんでしょうね。日本語なだけ「ありがたいと思え」って感じではありますけど。
(昔Oracleの分厚い英語マニュアルと格闘してた古参の発言)
Powershell ISE相当の一部実行できる開発環境を手に入れる
ISEはネットの一部では「産廃」とたたかれるほどUIがしょぼいのですが
F5でスクリプト実行
F8で選択部分実行
ができて、実行結果も変数に格納されるのでデバックしながら書いていくことができるので筆者は割とお気に入りです。
WindowsにPowershell7系をインストールする
5.1まではWindows専用でしたが2024年現在クロスプラットフォームになっています。MacやLinuxでPowershellをつかう人がどれくらい居るのかしりませんが。
まずはWindowsに入れないといけません。Wingetが推奨だそうです
バージョンを調べて、
winget search Microsoft.PowerShell
安定バージョンをいれます
winget install --id Microsoft.Powershell --source winget
Preview版をつかいたい方は上記リンクのMicrosoft サイトを直接参照してください。
推奨の理由はx86かx86かARMプロセッサ版なのかを自動判定してインストールしてくれるからっぽいです。
Visual Studio CodeをWindowsにインストールする
ここで、インストーラーを取って
VS Code を日本語化する
Copilotに聞くと教えてくれます
Visual Studio CodeにPowershell機能拡張を入れる
VS Codeを起動する (スタートメニューからでいい)
Ctrl+Pを押して Quick Openを開く
「ext install powershell」と入力し、Enter キーを押す
サイド バーに [拡張機能] ビューが開くのでMicrosoft の PowerShell の拡張機能を選択
Visual Code StudioでつかうPowershellを7系に指定する
2024現在Windows Powershell 5.1系とPowershell7系は別物扱いなので両方入ります。そのままだと5.1がVSCodeの拡張機能で動くので7系を指定します。
VS Code Windowsの右下にある{}Powershellの部分をクリックするとShow Powershell Session Menuをクリックする
Switch to:PowerShell(x64)をクリックするとWindows7系に切り替わります
Powershell7環境にモジュールをインストールする
PnP.Powershellを使いたいというのがもとの目的だったのですが以前使っていたModuleはWindows Powershell 5.1のModule Pathにはいっているようなので7系のPathに入れなおします。(パスを通してもいいんですけど、混在するのは良くない未来が待ってる気がする)
まずはFind-Moduleで探す
PS D:\> Find-Module PnP.Powershell
Version Name Repository Description
------- ---- ---------- -----------
2.5.0 PnP.PowerShell PSGallery Microsoft 365 Pat…
Install-Moduleで入れてやる
Install-Module PnP.Powershell
無事インストールできたらImportしてみましょう
Import-Module PnP.Powershell
とりあえず、使えるところまで来ました。今日はここまで。