Visual Studio Code を使用したリモート編集およびデバッグ
ISE に精通していれば、統合コンソールから psedit file.ps1 を実行してファイル (ローカルまたはリモート) を ISE で開けることをご存じではないでしょうか。
この機能は、VSCode 用の PowerShell 拡張機能でも使用できます。 このガイドではそれを行う方法を説明します。
前提条件
このガイドでは、次のことを前提としています。
- アクセスできるリモート リソース (例: VM、コンテナー)
- その上で実行する PowerShell およびホスト マシン
- VSCode および VSCode 用 PowerShell 拡張機能
この機能は、PowerShell と Windows PowerShell で動作します。
また、この機能は、WinRM、PowerShell Direct、または SSH でリモート マシンに接続しているときにも動作します。 SSH を使用したいが、Windows を使用している場合は、SSH の Win32 バージョンを確認してください。
重要
Open-EditorFile および psedit コマンドは、VSCode 用の PowerShell 拡張機能によって作成された PowerShell 統合コンソール でのみ機能します。
使用例
これらの例は、MacBook Pro から Azure で実行されている Ubuntu VM に対するリモート編集およびデバッグを示しています。 プロセスは Windows 上と同じです。
Open-EditorFile でのローカル ファイル編集
VSCode 用 PowerShell 拡張機能を開始し、PowerShell 統合コンソールを開くと、「Open-EditorFile foo.ps1」または「psedit foo.ps1」と入力してエディターでローカル環境の foo.ps1 ファイルを開くことができます。

注意
ファイル foo.ps1 は既に存在している必要があります。
そこから次のことができます。
余白にブレークポイントを追加します

F5 キーを押して PowerShell スクリプトをデバッグします。

デバッグ中に、デバッグ コンソールと対話し、左側でスコープ内の変数を確認し、他のすべての標準デバッグ ツールを使用できます。
Open-EditorFile でのリモート ファイル編集
次に、リモート ファイルを編集してデバッグします。 手順はほぼ同じですが、最初に行う必要があることが 1 つだけあります。リモート サーバーへの PowerShell セッションに入ります。
それを行うためのコマンドレットがあります。 Enter-PSSession です。
コマンドレットの簡単な説明は次のとおりです。
Enter-PSSession -ComputerName fooは WinRM でセッションを開始しますEnter-PSSession -ContainerId fooとEnter-PSSession -VmId fooは PowerShell Direct でセッションを開始しますEnter-PSSession -HostName fooは SSH でセッションを開始します
詳細については、Enter-PSSession のドキュメントを参照してください。
ここでは macOS から Azure の Ubuntu VM に移行するので、リモート処理に SSH を使用しています。
まず、統合コンソールで Enter-PSSession を実行します。 プロンプトの左側に [<hostname>] が表示されたら、リモート セッションに接続しています。

これで、ローカル スクリプトを編集する場合と同じ手順を実行できるようになりました。
Open-EditorFile test.ps1またはpsedit test.ps1を実行してリモートのtest.ps1ファイルを開きます

ファイルを編集し、ブレークポイントを設定します

リモート ファイルのデバッグを開始します (F5)

何か問題があれば、GitHub リポジトリで問題を開いてください。
フィードバック
フィードバックの送信と表示