Visual Studio Code、PowerShell 7に対応

【連載】

PowerShell Core入門 - 基本コマンドの使い方

【第91回】Visual Studio Code、PowerShell 7に対応

[2020/03/20 08:00]後藤大地 ブックマーク ブックマーク

Microsoftは2020年3月5日(米国時間)、「Visual Studio Code for PowerShell 7」において、Visual Studio Code向けのPowerShell拡張機能のメジャーアップデート版を公開したと伝えた。同版は、アーキテクチャの刷新やバグ修正などを含んでいるほか、先日公開された「PowerShell 7.0」に対応している。

Visual Studio Code向けPowerShell拡張機能

Visual Studio Code向けPowerShell拡張機能 v2020.3.0における主な変更点

Microsoftはこれまで、Windows PowerShellの開発環境として「Windows PowerShell ISE」の使用を推奨してきた。しかし、Windows PowerShell ISEの対応はWindows PowerShellまでとなる。

Windows PowerShell ISE

Microsoftは先日公開したPowerShell 7.0をWindows PowerShellの公式にして唯一の後継バージョンと位置付けており、Windows PowerShell ISEに変わる存在として「Visual Studio Code」を指定している。PowerShell拡張機能をインストールしたVisual Studio CodeがWindows PowerShell ISEの替わりということだ。今回公開されたアップデート版のPowerShell拡張機能には、その流れを組んだ改善が取り込まれている。以降では、今回のバージョンで特に注目される新機能や変更点を取り上げる。

Windows PowerShell ISE互換モード導入

新しいPowerShell拡張機能にはWindows PowerShell ISEとの互換性を向上させる機能が導入された。コマンドパレットを表示させると次のように「PowerShell: Enable ISE Mode」という項目が追加されていることを確認できるはずだ。

新しく追加された「PowerShell: Enable ISE Mode」

「PowerShell: Enable ISE Mode」を選択すると、次のスクリーンショットのように見た目がWindows PowerShell ISEっぽくなる。完全に同じというわけにはいかないが、雰囲気はだいぶ近い感じだ。

「PowerShell: Enable ISE Mode」を選択した後のVisual Studio Code

ショートカットキーなどもWindows PowerShell ISEと調整が行われており、これまでよりもWindows PowerShell ISEからの移行がスムーズになったと言える。なお、デフォルトのモードに戻したい場合にはコマンドパレットで「PowerShell: Disable ISE Mode (restore to defaults)」を選択すればよい。

統合コンソールにPSReadLine 2.0を統合

統合ターミナルに組み込まれているPSReadLineがバージョン2.0.0 GAにアップグレードされた。この結果、統合ターミナルにおいて強力なコマンドライン編集エクスペリエンスが有効になった。今回のアップグレードでは、Windowsのみならず、サポートされている全てのプラットフォームでこの機能が有効になった点が特に大きなポイントだと言える。これでシンタックスハイライト、複数行の編集、後方検索といった機能が統合ターミナルで機能するようになった。

例えば、次のスクリーンショットはmacOSとWindows 10のそれぞれで動作しているVisual Studio Codeの統合ターミナルだが、どちらもシンタックスハイライトが機能していることがわかる。

macOSでの統合ターミナル使用例

Windows 10での統合ターミナル使用例

これで、より簡単にVisual Studio CodeだけでPowerShellスクリプト開発をできるようになったと言える。

古いバージョンのサポート廃止

PSReadLine 2.0.0 GAにアップグレードしたことで統合ターミナル側は嬉しい状況になったわけだが、同時にPowerShell 3系とPowerShell 4系のサポートが廃止された点には注意する必要がある。今後、これらの古いバージョンがサポート対象となることはないだろう。

ただし、MicrosoftはVisual Studio CodeのPowerShellセッションの約1%でPowerShell 3系およびPowerShell 4系のバージョンが使われていたとしており、「これらのバージョンをサポートしたPowerShell拡張機能のバージョン2020.01を最終的な安定バージョンとして入手できるようにしておく」と説明している。これらの古いバージョンを使っている場合には、PowerShell拡張機能2020.01をインストールすることで、これまでのように古いバージョンのWindows PowerShellを使い続けることができる。

そのほかの新機能や変更点

上記2つが、今回のバージョンのPowerShell拡張機能のハイライトだと言える。それら以外の主な変更点などは、次の通りだ。

  • 全体的なパフォーマンスの向上
  • デバッグ機能の安定性向上
  • 拡張機能クラッシュの削減
  • スクロールバックバッファをクリアする設定の追加(powershell.integratedConsole.forceClearScrollbackBufferをClear-Hostに設定することで有効になる)
  • LSPメッセージを介したターミナルクリア機能の導入
  • スニペット編集における$TM_SELECTED_TEXTのサポート
  • CodeLensプロバイダにRUnCodeコマンドを追加
  • CodeLensおよびReferenceにフィルタ機能を追加
  • パス自動補完機能の改善

ほぼ期待通りのPowreShell拡張機能

MicrosoftはPowerShell 7.0のリリースに向けてVisual Studio Code向けPowerShell拡張機能の開発に取り組んできた。今回のリリースでは想定されていた機能がほぼ実現されており、予定通りのリリースに仕上がったのではないかと考えられる。

Visual Studio CodeとPowerShell拡張機能は今後長きに渡ってデフォルトの開発環境として取り上げられることになるだろう。これまでWindows PowerShell ISEを使っていたのであれば、このタイミングで移行を試みるというのは悪くないと思う。Visual Studio Codeの体験はVisual Studio Codeを使用するほかの開発にも適用できるので、なかなか”割のいい勉強”になるはずだ。

参考資料

※ 本記事は掲載時点の情報であり、最新のものとは異なる場合がございます。予めご了承ください。

一覧はこちら

連載目次

もっと知りたい!こちらもオススメ

【連載】RPA入門 - ツールで学ぶ活用シーン

【連載】RPA入門 - ツールで学ぶ活用シーン

AIには、ルールベース、機械学習、深層学習(ディープラーニング)の3つのレベルがあり、レベルが上がるに連れてより高度な人工知能を実現しますが、AIのスピンオフという位置付けで、Digital Labor(仮想知的労働者)によるホワイトカラー業務の自動化を実現するRPAが注目されています。

関連リンク

この記事に興味を持ったら"いいね!"を Click
Facebook で IT Search+ の人気記事をお届けします
注目の特集/連載
[解説動画] Googleアナリティクス分析&活用講座 - Webサイト改善の正しい考え方
[解説動画] 個人の業務効率化術 - 短時間集中はこうして作る
ミッションステートメント
教えてカナコさん! これならわかるAI入門
AWSではじめる機械学習 ~サービスを知り、実装を学ぶ~
対話システムをつくろう! Python超入門
Kubernetes入門
SAFeでつくる「DXに強い組織」~企業の課題を解決する13のアプローチ~
PowerShell Core入門
AWSで作るマイクロサービス
マイナビニュース スペシャルセミナー 講演レポート/当日講演資料 まとめ
セキュリティアワード特設ページ

一覧はこちら

今注目のIT用語の意味を事典でチェック!

一覧はこちら

会員登録(無料)

ページの先頭に戻る