次の方法で共有


PowerShell 開発に Visual Studio Code を使用する

Visual Studio Code (VS Code) は、Microsoft によるクロスプラットフォーム スクリプト エディターです。 PowerShell 拡張機能と共に、豊富で対話型のスクリプト編集エクスペリエンスが提供されるため、信頼性の高い PowerShell スクリプトを簡単に記述できます。 PowerShell スクリプトを記述するための推奨エディターは、PowerShell 拡張機能を含む Visual Studio Code です。

次の PowerShell バージョンがサポートされています。

  • PowerShell 7.2 以降 (Windows、macOS、Linux)
  • Windows PowerShell 5.1 (Windows のみ) と .NET Framework 4.8

Visual Studio Code は Visual Studio と同じではありません。

作業の開始

開始する前に、PowerShell がシステムに存在することを確認します。 Windows、macOS、Linux の最新のワークロードについては、次のリンクを参照してください。

従来の Windows PowerShell ワークロードについては、「 Windows PowerShell のインストール」を参照してください。

Von Bedeutung

Windows PowerShell ISE は引き続き Windows で使用できます。 ただし、もはやアクティブな機能開発が行われていません。 ISE は PowerShell 5.1 以前でのみ機能します。 Windows のコンポーネントとして、セキュリティと優先度の高いサービス修正プログラムに対して引き続き公式にサポートされています。 ISE を Windows から削除する予定はありません。

VS Code と PowerShell 拡張機能をインストールする

  1. Visual Studio Code をインストールします。 詳細については、「 Visual Studio Code のセットアップの概要」を参照してください。

    各プラットフォームのインストール手順は次のとおりです。

  2. PowerShell 拡張機能をインストールします。

    1. コンソールに「 code 」と入力するか、Visual Studio Code Insider をインストールした場合は code-insiders して、VS Code アプリを起動します。
    2. Ctrl +P キーを押して、Windows または Linux でクイック オープンを起動します。 macOS では、 Cmd+P キーを押します。
    3. クイック オープンで、「 ext install powershell 」と入力し、 Enter キーを押します。
    4. サイド バーに [拡張機能 ] ビューが開きます。 Microsoft から PowerShell 拡張機能を選択します。
    5. Microsoft の PowerShell 拡張機能の [インストール ] ボタンをクリックします。
    6. インストール後、[ インストール ] ボタンが [再読み込み] に変わる場合は、[ 再読み込み] をクリックします。
    7. VS Code が再読み込みされたら、編集する準備ができました。

たとえば、新しいファイルを作成するには、[ファイル ] > [新規作成] をクリックします。 保存するには、[ファイル] > [保存] をクリックし、ファイル名 (HelloWorld.ps1など) を指定します。 ファイルを閉じるには、ファイル名の横にある X をクリックします。 VS Code を終了するには、ファイル > 終了 を選択します。

制限付きシステムへの PowerShell 拡張機能のインストール

一部のシステムは、すべてのコード署名の検証を必要とするように設定されています。 次のエラーが表示される場合があります。

Language server startup failed.

この問題は、PowerShell の実行ポリシーが Windows グループ ポリシーによって設定されている場合に発生する可能性があります。 VS Code 用の PowerShell エディター サービスと PowerShell 拡張機能を手動で承認するには、PowerShell プロンプトを開き、次のコマンドを実行します。

Import-Module $HOME\.vscode\extensions\ms-vscode.powershell*\modules\PowerShellEditorServices\PowerShellEditorServices.psd1

[この信頼されていない発行元からソフトウェアを実行しますか?ファイルを実行するAを入力します。 次に、VS Code を開き、PowerShell 拡張機能が正しく機能していることを確認します。 まだ開始に問題がある場合は、 GitHub の問題でお知らせください。

拡張機能で使用する PowerShell のバージョンの選択

PowerShell を Windows PowerShell とサイド バイ サイドでインストールすることで、PowerShell 拡張機能で特定のバージョンの PowerShell を使用できるようになりました。 この機能では、PowerShell のインストールを検出するために、さまざまなオペレーティング システム上のいくつかの既知のパスを確認します。

バージョンを選択するには、次の手順に従います。

  1. Windows または Linux のコマンド パレットCtrl+Shift+P キーで開きます。 macOS では、 Cmd+Shift+P を使用します。
  2. セッションを検索します。
  3. [PowerShell: セッション メニューの表示] をクリックします。
  4. 使用する PowerShell のバージョンを一覧から選択します。

PowerShell を一般的でない場所にインストールした場合、最初はセッション メニューに表示されないことがあります。 以下で説明するように 独自のカスタム パスを追加 することで、セッション メニューを拡張できます。

PowerShell セッション メニューには、ステータス バーの右下隅にある {} アイコンからアクセスすることもできます。 このアイコンをポイントするか選択すると、セッション メニューへのショートカットと小さなピン アイコンが表示されます。 ピン アイコンを選択すると、バージョン番号がステータス バーに追加されます。 バージョン番号は、クリック回数を減らすために必要なセッション メニューへのショートカットです。

バージョン番号をピン留めすると、1.65 より前のバージョンの VS Code で拡張機能の動作がレプリケートされます。 VS Code の 1.65 リリースでは、PowerShell 拡張機能で使用される API が変更され、言語拡張機能のステータス バーが標準化されました。

Visual Studio Code の構成設定

まず、VS Code で設定を変更する方法に慣れていない場合は、 Visual Studio Code の設定 に関するドキュメントを読むことをお勧めします。

ドキュメントを読んだ後、 settings.jsonで構成設定を追加できます。

{
    "editor.renderWhitespace": "all",
    "editor.renderControlCharacters": true,
    "files.trimTrailingWhitespace": true,
    "files.encoding": "utf8bom",
    "files.autoGuessEncoding": true
}

これらの設定がすべてのファイルの種類に影響しないようにする場合、VS Code では言語ごとに構成することもできます。 [<language-name>] フィールドに設定を指定して、言語固有の設定を作成します。 例えば次が挙げられます。

{
    "[powershell]": {
        "files.encoding": "utf8bom",
        "files.autoGuessEncoding": true
    }
}

ヒント

VS Code でのファイル エンコードの詳細については、「 ファイル エンコードについて」を参照してください。 また、POWERShell 編集用に VS Code を構成する方法に関するその他のヒントについては、 VS Code で ISE エクスペリエンスをレプリケート する方法を確認してください。

セッション メニューへの独自の PowerShell パスの追加

他の PowerShell 実行可能パスは、 Visual Studio Code の設定 ( powershell.powerShellAdditionalExePaths) を使用してセッション メニューに追加できます。

これを行うには、GUI を使用します。

  1. コマンド パレットから[ユーザー設定を開く]を検索して選択します。 または、Windows または Linux Ctrl+キーボード ショートカットを使用します。 macOS では、Cmd+を使用します
  2. 設定エディターで、PowerShell の追加 Exe パスを検索します。
  3. [ 項目の追加] をクリックします。
  4. キー ([項目] の下) に、この追加の PowerShell インストールの名前を入力します。
  5. [値] ([値] の下) には、実行可能ファイル自体への絶対パスを指定します。

必要な数のパスを追加できます。 追加された項目がセッション メニューに表示され、指定したキーが名前として表示されます。

または、settings.json内のオブジェクト powershell.powerShellAdditionalExePathsにキーと値のペアを追加することもできます。

{
    "powershell.powerShellAdditionalExePaths": {
        "Downloaded PowerShell": "C:/Users/username/Downloads/PowerShell/pwsh.exe",
        "Built PowerShell": "C:/Users/username/src/PowerShell/src/powershell-win-core/bin/Debug/net6.0/win7-x64/publish/pwsh.exe"
    },
}

拡張機能のバージョン 2022.5.0 より前のバージョンでは、この設定は、必要なキー exePathversionNameを持つオブジェクトの一覧でした。 GUI を使用して構成をサポートするための破壊的変更が導入されました。 この設定を以前に構成した場合は、新しい形式に変換してください。 versionNameに指定された値が Key になり、exePathに指定された値が Value になりました。 これは、値をリセットして設定インターフェイスを使用することで、より簡単に行うことができます。

既定の PowerShell バージョンを設定するには、セッション メニューに表示されるテキスト (キーに使用されるテキスト) に powershell.powerShellDefaultVersion 値を設定します。

{
    "powershell.powerShellAdditionalExePaths": {
        "Downloaded PowerShell": "C:/Users/username/Downloads/PowerShell/pwsh.exe",
    },
    "powershell.powerShellDefaultVersion": "Downloaded PowerShell",
}

この設定を構成したら、VS Code を再起動するか、 コマンド パレットから現在の VS Code ウィンドウを再度読み込むには、「 Developer: Reload Window」と入力します。

セッション メニューを開くと、追加の PowerShell インストールが表示されます。

ヒント

ソースから PowerShell をビルドする場合、これは PowerShell のローカル ビルドをテストするための優れた方法です。

Visual Studio Code を使用したデバッグ

ワークスペースなしのデバッグ

VS Code バージョン 1.9 以降では、PowerShell スクリプトを含むフォルダーを開かずに PowerShell スクリプトをデバッグできます。

  1. [ファイル] > ファイルを開く...で PowerShell スクリプト ファイルを開きます。
  2. ブレークポイントを設定する - 行を選択し、F9 キーを押します
  3. F5 キーを押してデバッグを開始する

デバッガーの中断、ステップ、再開、デバッグの停止を可能にする [デバッグ操作] ウィンドウが表示されます。

ワークスペースのデバッグ

ワークスペースのデバッグとは、[フォルダーを開く] を使用して [ ファイル ] メニューから開いたフォルダーのコンテキストでのデバッグを指 します。...開くフォルダーは、通常、PowerShell プロジェクト フォルダーまたは Git リポジトリのルートです。 ワークスペース デバッグを使用すると、現在開いているファイルをデバッグするだけでなく、複数のデバッグ構成を定義できます。

デバッグ構成ファイルを作成するには、次の手順に従います。

  1. Ctrl+Shift+D キーを押して、Windows または Linux でデバッグ ビューを開きます。 macOS では、Cmd+Shift+D キーを押します

  2. [ launch.json ファイルの作成 ] リンクをクリックします。

  3. [環境の選択] プロンプトで、PowerShell を選択します。

  4. 使用するデバッグの種類を選択します。

    • 現在のファイルの起動 - 現在アクティブなエディター ウィンドウでファイルを起動してデバッグする
    • スクリプトの起動 - 指定したファイルまたはコマンドを起動してデバッグする
    • 対話型セッション - 統合コンソールから実行されるデバッグ コマンド
    • アタッチ - 実行中の PowerShell ホスト プロセスにデバッガーをアタッチする

VS Code は、デバッグ構成を格納するために、ワークスペース フォルダーのルートにディレクトリとファイル .vscode\launch.json を作成します。 ファイルが Git リポジトリにある場合は、通常、 launch.json ファイルをコミットします。 launch.json ファイルの内容は次のとおりです。

{
  "version": "0.2.0",
  "configurations": [
      {
          "type": "PowerShell",
          "request": "launch",
          "name": "PowerShell Launch (current file)",
          "script": "${file}",
          "args": [],
          "cwd": "${file}"
      },
      {
          "type": "PowerShell",
          "request": "attach",
          "name": "PowerShell Attach to Host Process",
          "processId": "${command.PickPSHostProcess}",
          "runspaceId": 1
      },
      {
          "type": "PowerShell",
          "request": "launch",
          "name": "PowerShell Interactive Session",
          "cwd": "${workspaceRoot}"
      }
  ]
}

このファイルは、一般的なデバッグ シナリオを表します。 エディターでこのファイルを開くと、[ 構成の追加]... ボタンが表示されます。 このボタンをクリックすると、PowerShell デバッグ構成をさらに追加できます。 追加する便利な構成の 1 つは 、PowerShell: スクリプトの起動です。 この構成では、エディターでアクティブなファイルに関係なく 、F5 キーを押すたびに使用される省略可能な引数を含むファイルを指定できます。

デバッグ構成が確立されたら、デバッグ セッション中に使用する構成を選択できます。 デバッグ ビューの ツール バーの [デバッグ構成] ドロップダウンから構成を選択します。

PowerShell 拡張機能のトラブルシューティング

PowerShell スクリプト開発に VS Code を使用して問題が発生した場合は、GitHub の トラブルシューティング ガイドを 参照してください。

役に立つリソース

VS Code 用 PowerShell 拡張機能の使用を開始するのに役立つビデオやブログ記事がいくつかあります。

ビデオ

ブログ記事

PowerShell 拡張機能プロジェクトのソース コード

PowerShell 拡張機能のソース コードは 、GitHub にあります。

投稿に興味がある場合は、Pull Requests を大いに評価しています。 GitHub の 開発者向けドキュメント に従って作業を開始します。