VS Codeのエージェントモードを拡張するには、を試してください!

Visual Studio Code での PowerShell

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

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

Windows PowerShell 5.1 のサポートは、最大限の努力で行われます。.NET Framework 4.8 以降が必要です。

GitHub CodespacesVS Code Server を含む VS Code Remote Development 環境がサポートされています。

重要

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: Show Session Menu コマンドを実行します。

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.ps1xmlFormat.ps1xml に関する公式の PowerShell ドキュメントを参照してください。.ps1xml ファイルを作成する際に IntelliSense 機能を利用するには、Red Hat による XML 拡張機能をインストールしてください。インストール後、この設定をユーザー設定に追加します。

"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"
  }
]

この設定により、XML 拡張機能はすべての .ps1xml ファイルに PowerShell リポジトリの公式 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 Examples Folder コマンドで例を開くこともできます。

Open PowerShell Examples

追加リソース

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

よくある質問の回答については、トラブルシューティングガイドをご覧ください。

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

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

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

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

バグを発見した場合は、イシューを開き、修正が完了するまで安定版に戻してください。