次の方法で共有


Visual Studio Code を使用したリモート編集とデバッグ

ISE に慣れているユーザーにとっては、統合コンソールから psedit file.ps1 を実行して、ISE で直接ファイル (ローカルまたはリモート) を開くことができることを思い出してください。

この機能は、VSCode の PowerShell 拡張機能でも使用できます。 このガイドでは、その方法について説明します。

前提 条件

このガイドでは、次のことを前提としています。

  • アクセスできるリモート リソース (VM、コンテナーなど)
  • ホスト コンピューターとそれに関連するシステム上でPowerShellが実行されている
  • VSCode と VSCode 用 PowerShell 拡張機能

この機能は、PowerShell と Windows PowerShell で動作します。

この機能は、WinRM、PowerShell Direct、または SSH を使用してリモート コンピューターに接続する場合にも機能します。 SSH を使用するが、Windows を使用している場合は、Win32 バージョンの SSHを確認してください。

重要

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 ファイルを開くことができます。

Open-EditorFile foo.ps1 はローカルで動作

手記

ファイル foo.ps1 は既に存在している必要があります。

そこから、次のことができます。

  • 余白にブレークポイントを追加します

    余白へのブレークポイントの追加 にブレークポイントを追加する

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

    ローカル 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のドキュメントを参照してください。

Azure の Ubuntu VM にリモート処理するため、SSH を使用しています。

まず、統合コンソールで、Enter-PSSessionを実行します。 プロンプトの左側に [<hostname>] が表示されたら、リモート セッションに接続されます。

Enter-PSSession を呼び出してリモート セッション に接続する

これで、ローカル スクリプトを編集する場合と同じ手順を実行できます。

  1. Open-EditorFile test.ps1 または psedit test.ps1 を実行してリモート test.ps1 ファイルを開く

    リモート システムのスクリプトを編集

  2. ファイルの編集/ブレークポイントの設定

    ブレークポイントを編集して設定

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

    リモート スクリプト のデバッグ

問題がある場合は、GitHub リポジトリで問題を開くことができます。