Visual Studio CodeでMicrosoft PowerShellを開発する | TechRepublic

Visual Studio CodeでMicrosoft PowerShellを開発する | TechRepublic
プログラミング作業時間。HTMLコードの新しい行を入力するプログラマー。ノートパソコンと手のクローズアップ。作業時間。Webデザインのビジネスコンセプト。
画像: Hor/Adobe Stock

PowerShellは、Windows向けのシステム管理ツールにとどまらず、幅広い機能を備えています。最新リリースのPowerShellは、最新のクロスプラットフォーム.NETをベースに構築されており、使い慣れたWindowsに加え、macOSとLinuxもサポートしているため、あらゆるシステムに対応する強力な管理ツールとなっています。PowerShellの基盤となる哲学と言語文法は変わりませんが、以前のPowerShell ISE開発ツールは開発が終了しており、新しいリリースではサポートされません。

PowerShell ISEは依然としてWindowsの一部ですが、PowerShell 7を使用する場合は、サポートされているすべてのプラットフォームで動作する開発ツールが必要になります。Microsoftは、公式のPowerShellプラグインとVisual Studio Codeエディタの使用を推奨しています。

参照: これら 11 個の PowerShell スクリプトを使用して Active Directory を管理する (TechRepublic Premium)

Visual Studio Codeは、Microsoftの最も便利な開発ツールの一つとして急速に成長しました。柔軟性と拡張性に優れたプログラマー向けエディタで、統合開発環境(IDE)の多くの機能をシンプルなエディタの使いやすさで提供します。中でも特に便利なのは、本格的な拡張モデルです。開発者は言語拡張だけでなく、デバッグツールやテストツールをエディタに組み込むことができます。LinuxとmacOSの両方で利用できるため、これらのプラットフォームを直接ターゲットとしたコードのビルドとテストに使用できます。

数多くの拡張機能の中には、PowerShell をターゲットとしたものもいくつかあり、その中には Microsoft 製のものも含まれています。Microsoft の多くの新しい開発者プロジェクトと同様に、これは GitHub で開発されたオープンソース パッケージです。Microsoft の Visual Studio Code の PowerShell ツールは、主に PowerShell 7.2 長期サポート リリースで動作するように設計されていますが、既存のスクリプトとの下位互換性を保つために、以前のバージョンの PowerShell 5.1 も引き続きサポートされています。そのため、使用を開始する前に、サポートされているバージョンがインストールされていることを確認してください。

PowerShell と Visual Studio Code 拡張機能のインストール

Windows 版 PowerShell の Microsoft 推奨インストール方法は、現在 winget パッケージマネージャーを使用することですが、GitHub から最新リリースのインストーラーをダウンロードすることもできます。しかし、winget を使用する方が合理的です。winget をインストールすれば、Debian や Red Hat ベースの Linux ディストリビューションでパッケージを操作するのと同じように、たった 1 行のコードですべての winget パッケージを最新の状態に保つことができます。

Windowsエコシステム以外では、インストールは少し複雑です。Linuxユーザーは、GitHubから適切なパッケージをインストールするか、Microsoft独自のリポジトリへの参照を信頼できるホストのリストに追加することで、aptやyumなどのツールを使用してコマンドラインからインストールできます。macOSユーザーは、Homebrewパッケージマネージャーからインストールするか、GitHubからmacOSパッケージをダウンロードできます。

Microsoftは、PowerShellGetモジュールを使用して、コマンドラインからVisual Studio CodeとPowerShell拡張機能の両方を簡単にインストールする方法を提供しています。以下を入力し、プロンプトに応答してください。

Install-Script Install-VSCode -Scope CurrentUser; Install-VSCode.ps1

これにより、インストール スクリプトがダウンロードされ、現在のユーザーとして実行されます。

PowerShellとVisual Studio Codeが既にインストールされている場合は、公式のPowerShell拡張機能を追加できます。Visual Studio Marketplaceには様々なPowerShellツールが用意されているので、Microsoft公式の拡張機能をインストールするように注意してください。Visual Studio Codeとその組み込みターミナルツールをシステム管理環境として使用する予定の場合は、他の拡張機能も検討すると良いでしょう。これらの拡張機能には、スクリプトにユーザーインターフェイスを追加できる商用ツールや、PowerShellを使用してエディター内からAzureなどのクラウドサービスを操作するためのツールなどが含まれています。

PowerShell拡張機能の使用

Visual Studio Code の PowerShell 拡張機能は、組み込みの言語サーバーと連携して、エディターの IntelliSense 機能に PowerShell のサポートを追加します。これにより、構文エラーの削減、コード補完とハイライト表示の追加、コードの読みやすさの向上、スクリプトへの適切なコマンドレットと変数の追加が可能になります。

便利なことに、対象とするPowerShellのバージョンを選択できるオプションがあり、古いバージョンと新しいバージョン、現在のビルドとプレビュービルドを切り替えることができます。これにより、互換性を維持しながらスクリプトを移行できます。

Visual Studio Codeは可能な限り最新バージョンを使用することをお勧めします。新しいバージョンでは、現在のワークスペースに存在しないスクリプトをデバッグできるため、本番環境で使用する前にダウンロードしたスクリプトをテストしたい場合に便利です。

それ以外の場合、Visual Studio Code は開いているフォルダーまたは Git リポジトリのコンテキストで動作し、デバッグ ツールをコンソールに接続するオプションが用意されているため、PowerShell コマンドをより複雑なスクリプトに追加する前にデバッグしてテストできます。

昔のPowerShell ISEの外観を取り戻す

オリジナルのPowerShell ISEのルック&フィールに慣れている方のために、Code拡張機能にはISEモードオプションが含まれています。これは完全なISEではありませんが、ISEの機能をサポートしながら、Codeを少し使い慣れたものにするのに役立ちます。Codeコマンドパレットから「ISEモードを有効にする」を選択するだけで、コマンドエクスプローラービューが追加され、編集ペインとターミナルペインのレイアウトと色がISEに合わせて変更されます。

Microsoft は、必要に応じて Code のより多くの機能を非表示にするために使用できる追加の構成オプションのリストを提供していますが、実際には、同じプロジェクト内で PowerShell の編集と他の言語の編集を切り替える場合は、デフォルトのままにしておくのが最善です。

Visual Studio Code を使用したリモート編集とデバッグ

ISEと同様に、Visual Studio Codeにもリモート編集ツールが用意されており、デスクトップからリモートサーバーのPowerShellを操作できます。新しいEnter-PSSessionコマンドレットを使えば、リモート接続を簡単に確立できます。このコマンドレットは、コンピューター名によるWindowsマシンへの直接アクセス、またはホスト名を介したSecure Shell経由のアクセスをサポートします。SSHオプションは、Azure上で稼働する仮想マシンを含むLinuxおよびmacOSホストへのアクセスを可能にするため、特に便利です。

組み込みのデバッガーが起動し、現在開いているスクリプトを実行します。使い慣れたコードデバッグコマンドを使ってブレークポイントを設定し、コードをステップ実行できます。変数の内容が表示され、特定の変数を監視するオプションもあります。

ブレークポイントは、対象関数が呼び出されたとき、または特定の条件が満たされたときに設定できます。これにより、対話型スクリプトをより柔軟に操作できるようになります。例えば、条件付きブレークポイントは、設定された条件が真と評価された場合にのみ実行されるため、コードはループを複数回通過してからブレークをトリガーできます。

Visual Studio Code は明らかに PowerShell 開発の未来を担う存在ですが、同時に、他のエディタにも同等の統合性を提供できるよう取り組んでいます。PowerShell Editor Services は、.NET ライブラリと JSON アプリケーションプログラミングインターフェースで構成されており、エディタに直接組み込んだり、独自のプラグインに組み込んだりできます。このツールは Visual Studio Code 拡張機能と同じ機能を提供するため、どこでコードを書いても同じサポートを受けることができます。

MicrosoftのVisual Studio Code向けPowerShellツールには、多くの魅力があります。使い慣れたツールをベースにしながらも新しい機能も活用しているため、習得にほとんど手間がかからずすぐにスクリプト作成を開始でき、経験を積むにつれて機能や拡張機能を追加していくことができます。

TechRepublic Academy の以下のオンライン コースで Microsoft PowerShell の知識を習得しましょう。

  • Microsoft PowerShell 認定バンドル
  • 2022 Windows PowerShell 認定バンドル
  • Microsoft ユニバーサル Windows プラットフォーム エキスパート バンドル
Tagged: