に参加して、VS Code の AI 支援開発について学びましょう。

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 以降が必要です。

VS Code Remote Development 環境には、GitHub Codespaces および VS Code Server が含まれます。

重要

Visual Studio Code for the Web は、PowerShell エンジンがこの環境で実行できないため、基本的な構文ハイライトなどの限られた機能のみをサポートしています。

以下の構成で積極的にテストしています

  • Windows Server 2022 (Windows PowerShell 5.1 および PowerShell 7 以降)
  • macOS 14.7 (PowerShell 7 以降)
  • Ubuntu 24.04 (PowerShell 7 以降)

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 はコードフォーマットも提供します。Format Document コマンドまたは (⇧⌥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)) からPreferences: Open User Settings (JSON)コマンドを使用するか、"workbench.settings.editor"設定でデフォルトの設定エディターを変更することで、settings.jsonファイルを開くこともできます。

VS Code の設定方法の詳細については、ユーザー設定とワークスペース設定を参照してください。

Types.ps1xml および Format.ps1xml ファイル

PowerShell の .ps1xml ファイルは、型システムを拡張し、出力フォーマットを定義するために使用されます。これらのファイルの詳細については、Types.ps1xml および Format.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"
  }
]

この設定は、すべての .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 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.

バグを見つけた場合は、イシューを開き、修正中は安定版に戻してください。

© . This site is unofficial and not affiliated with Microsoft.