🚀 VS Code で を入手しましょう!

Visual Studio Code での PowerShell

PowerShell は、.NET 上に構築されたタスクベースのコマンドライン シェルおよびスクリプト言語であり、あらゆるプラットフォームの管理者向けの強力なツールセットを提供します。

Microsoft PowerShell Visual Studio Code (VS Code) 用拡張機能は、PowerShell の構文補完、定義の追跡、lint などの豊富な言語サポートと機能を提供します。この拡張機能は、現在サポートされている PowerShell 7 以降のバージョン を使用して、VS Code がサポートされているすべての場所で動作するはずです。

Windows PowerShell 5.1 のサポートは、最大限の努力に基づいて提供されています。.NET Framework 4.8 以降が必要です。

VS Code リモート開発 環境 (GitHub CodespacesVS Code Server など) がサポートされています。

重要

Web 版 Visual Studio Code は、PowerShell エンジンがこの環境で実行できないため、基本的な構文の強調表示などの限られた機能のみがサポートされています。

次の構成を積極的にテストしています

  • Windows PowerShell 5.1 および PowerShell 7 以降を搭載した Windows Server 2022
  • PowerShell 7 以降を搭載した macOS 14.7
  • PowerShell 7 以降を搭載した Ubuntu 24.04

Windows では、制限付き言語モードの有効/無効の両方でテストも行っています。

PowerShell 拡張機能のインストール

PowerShell 拡張機能は、Visual Studio Code Marketplace から インストール ボタン をクリックしてインストールできます。VS Code 内から PowerShell 拡張機能をインストールすることもできます。キーボード ショートカット ⇧⌘X (Windows、Linux Ctrl+Shift+X)[拡張機能] ビューを開き、「PowerShell」と入力して PowerShell 拡張機能を選択します。

PowerShell extension

主な機能

デバッグ

PowerShell 拡張機能は、VS Code の組み込み デバッグ インターフェイス を使用して、PowerShell スクリプトとモジュールのデバッグを可能にします。PowerShell のデバッグの詳細については、VS Code の使用 を参照してください。

複数バージョン サポート

これらの手順 に従って、コンピューターにインストールされているサポートされている任意のバージョンの PowerShell を使用するように PowerShell 拡張機能を構成できます。

または、コマンド パレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) から [PowerShell: セッション メニューを表示] コマンドを実行します。

CodeLens サポート

CodeLens は、ソース コード内に表示される実用的なコンテキスト情報を提供する VS Code 機能です。

CodeLens 機能には以下が含まれます

  • Pester [テストの実行] および [テストのデバッグ]

    Pester CodeLens Integration

  • Pester シンボル サポート

    CodeLens Pester Symbol Support

  • 関数、変数、クラス、およびその他のシンボルの参照

    CodeLens 参照サポートは、シンボルがコード内で参照されている回数を表示し、特定の参照にジャンプできます。

    CodeLens Function Reference Support

PSScriptAnalyzer の統合

PSScriptAnalyzer は、モジュールとスクリプトの静的ソース コード チェッカーを提供する PowerShell モジュールです。PSScriptAnalyzer には、PowerShell コードの品質を検証するルールがあります。これらのルールは、PowerShell チームとコミュニティによって特定された PowerShell のベスト プラクティスに基づいています。PSScriptAnalyzer は、潜在的なコードの欠陥をユーザーに通知し、改善のための可能な解決策を提案するために、診断レコード (エラーと警告) を生成します。

PowerShell 拡張機能には PSScriptAnalyzer が既定で含まれており、VS Code で編集する PowerShell スクリプト ファイルの分析を自動的に実行します。

PSScriptAnalyzer には、初期化されていない変数の存在、PSCredential 型の使用、Invoke-Expression の使用など、PowerShell ソース コードのさまざまな側面をチェックする組み込みルール コレクションが付属しています。このモジュールでは、特定のルールを含めたり除外したりすることもできます。

PSScriptAnalyzer を無効にするには、設定 (⌘, (Windows、Linux Ctrl+,)) を開き、[拡張機能] を参照し、[PowerShell] 拡張機能を選択して、[スクリプト分析: 有効にする] (powershell.scriptAnalysis.enable) のチェックボックスをオフにします。

PSScriptAnalyzer Settings

PSScriptAnalyzer は、コードのフォーマットも提供します。[ドキュメントのフォーマット] コマンドまたは (⇧⌥F (Windows Shift+Alt+F、Linux Ctrl+Shift+I)) キーボード ショートカットを使用して、ドキュメントの自動フォーマットを呼び出すことができます。

Pester 統合

Pester は、ユニット テストを実行するためのフレームワークであり、Windows PowerShell 5.1 には Pester 3.40 がプリインストールされています。Pester を更新するか、他のプラットフォームに最新バージョンをインストールするには、Pester インストール手順 に従ってください。

PowerShell 拡張機能の設定

VS Code の 設定 は、[ファイル] > [基本設定] > [設定] メニュー項目からカスタマイズできます。

アクティビティ バーの左下隅にある歯車アイコンを選択することもできます。

codeGear

キーボード ショートカット ⌘, (Windows、Linux Ctrl+,) を使用して設定を開くこともできます。コマンド パレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) から [基本設定: ユーザー設定を開く (JSON)] コマンドを使用するか、"workbench.settings.editor" 設定で既定の設定エディターを変更することで、settings.json ファイルを開くこともできます。

VS Code 設定の構成の詳細については、ユーザー設定とワークスペース設定 にアクセスしてください。

Types.ps1xml ファイルと Format.ps1xml ファイル

PowerShell .ps1xml ファイルは、型システムを拡張し、出力の書式設定を定義するために使用されます。これらのファイルの詳細については、Types.ps1xml および Format.ps1xml に関する公式 PowerShell ドキュメントを参照してください。Red Hat による XML 拡張機能 をインストールすると、.ps1xml ファイルの作成時に IntelliSense 機能を利用できます。インストール後、この構成をユーザー設定に追加します。

"xml.fileAssociations": [
  {
    "systemId": "https://raw.githubusercontent.com/PowerShell/PowerShell/master/src/Schemas/Format.xsd",
    "pattern": "**/*.Format.ps1xml"
  },
  {
    "systemId": "https://raw.githubusercontent.com/PowerShell/PowerShell/master/src/Schemas/Types.xsd",
    "pattern": "**/*.Types.ps1xml"
  }
]

この構成は、すべての .ps1xml ファイルに対して PowerShell リポジトリの公式 XML スキーマを使用するように XML 拡張機能に指示します。これらのスキーマを構成すると、ps1xml ファイルで次の機能が有効になります。

  • 構文エラーの報告
  • スキーマの検証
  • タグと属性の補完
  • タグの自動閉じ
  • シンボルの強調表示
  • ドキュメントの折りたたみ
  • ドキュメント シンボルとアウトライン
  • 名前変更のサポート
  • ドキュメントのフォーマット

スクリプト例

スクリプト例は拡張機能に含まれており、次のパスにあります。

~/.vscode/extensions/ms-vscode.PowerShell-<version>/examples

VS Code で例を開いたり表示したりするには、PowerShell コマンド プロンプトから次を実行します。

code (Get-ChildItem ~\.vscode\extensions\ms-vscode.PowerShell-*\examples)[-1]

コマンド パレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) から [PowerShell: 例のフォルダーを開く] コマンドを使用して例を開くこともできます。

Open PowerShell Examples

その他のリソース

PowerShell ドキュメントには、さらに詳しい記事があります。まず VS Code の使用 から始めてください。

一般的な質問への回答については、トラブルシューティング ガイド を確認してください。

デバッグの詳細については、@keithHill が PowerShell 拡張機能を使用したデバッグについて書いた Hey, Scripting Guy! 2 部構成のブログ記事シリーズをご覧ください

新機能のテストとフィードバックの提供

可能な限り プレリリース バージョンを試すことをお勧めします。プレリリース が利用可能な場合は、マーケットプレースから [プレリリース バージョンに切り替える] ボタンを使用してインストールできます。表示される [リリース バージョンに切り替える] ボタンを使用すると、拡張機能の安定バージョンに戻すことができます。[アンインストール] ボタンの横にある矢印を使用して拡張機能の他のバージョンにダウングレードし、[別のバージョンをインストール...] を選択することもできます。

Screenshot showing the button to switch to a pre-release version.

バグを見つけた場合は、問題をオープン し、修正する間は安定バージョンに戻してください。