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 Codespaces や VS 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 拡張機能を選択します。
主な機能
- 構文の強調表示
- 高度な組み込み コード スニペット
- コマンドレットなどの IntelliSense
- 問題 は PowerShell Script Analyzer によって報告されます
- コマンドレット、変数、クラスなどの 定義へ移動
- コマンドレット、変数、クラスなどの 参照の検索
- ドキュメントとワークスペースの シンボル ナビゲーション
- シンボルベースの アウトライン ビュー
- F8 を使用して、現在のターミナルで選択した PowerShell コードを実行します
- Ctrl + F1 を使用して、カーソル下のシンボルのオンライン ヘルプを起動します
- PowerShell デバッガー の統合
- デバッガーと対話できる拡張機能ターミナル (
Set-PSBreakpoint
を試してください!) - テーマ ピッカー で利用可能な PowerShell ISE テーマ
- また、⇧⌘P (Windows、Linux Ctrl+Shift+P) を使用して ISE モードを試してから、「ISE モードを有効にする」を検索してください
デバッグ
PowerShell 拡張機能は、VS Code の組み込み デバッグ インターフェイス を使用して、PowerShell スクリプトとモジュールのデバッグを可能にします。PowerShell のデバッグの詳細については、VS Code の使用 を参照してください。
複数バージョン サポート
これらの手順 に従って、コンピューターにインストールされているサポートされている任意のバージョンの PowerShell を使用するように PowerShell 拡張機能を構成できます。
または、コマンド パレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) から [PowerShell: セッション メニューを表示] コマンドを実行します。
CodeLens サポート
CodeLens は、ソース コード内に表示される実用的なコンテキスト情報を提供する VS Code 機能です。
CodeLens 機能には以下が含まれます
-
Pester [テストの実行] および [テストのデバッグ]。
-
Pester シンボル サポート
-
関数、変数、クラス、およびその他のシンボルの参照
CodeLens 参照サポートは、シンボルがコード内で参照されている回数を表示し、特定の参照にジャンプできます。
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 は、コードのフォーマットも提供します。[ドキュメントのフォーマット] コマンドまたは (⇧⌥F (Windows Shift+Alt+F、Linux Ctrl+Shift+I)) キーボード ショートカットを使用して、ドキュメントの自動フォーマットを呼び出すことができます。
Pester 統合
Pester は、ユニット テストを実行するためのフレームワークであり、Windows PowerShell 5.1 には Pester 3.40 がプリインストールされています。Pester を更新するか、他のプラットフォームに最新バージョンをインストールするには、Pester インストール手順 に従ってください。
PowerShell 拡張機能の設定
VS Code の 設定 は、[ファイル] > [基本設定] > [設定] メニュー項目からカスタマイズできます。
アクティビティ バーの左下隅にある歯車アイコンを選択することもできます。
キーボード ショートカット ⌘, (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: 例のフォルダーを開く] コマンドを使用して例を開くこともできます。
その他のリソース
PowerShell ドキュメントには、さらに詳しい記事があります。まず VS Code の使用 から始めてください。
一般的な質問への回答については、トラブルシューティング ガイド を確認してください。
デバッグの詳細については、@keithHill が PowerShell 拡張機能を使用したデバッグについて書いた Hey, Scripting Guy! 2 部構成のブログ記事シリーズをご覧ください
- Visual Studio Code での PowerShell スクリプトのデバッグ - パート 1
- Visual Studio Code での PowerShell スクリプトのデバッグ - パート 2
新機能のテストとフィードバックの提供
可能な限り プレリリース バージョンを試すことをお勧めします。プレリリース が利用可能な場合は、マーケットプレースから [プレリリース バージョンに切り替える] ボタンを使用してインストールできます。表示される [リリース バージョンに切り替える] ボタンを使用すると、拡張機能の安定バージョンに戻すことができます。[アンインストール] ボタンの横にある矢印を使用して拡張機能の他のバージョンにダウングレードし、[別のバージョンをインストール...] を選択することもできます。
バグを見つけた場合は、問題をオープン し、修正する間は安定バージョンに戻してください。