マイナビニュースマイナビ

VSCode PowerShell拡張機能 - 2021年5月アップデート版

【連載】

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

【第153回】VSCode PowerShell拡張機能 - 2021年5月アップデート版

[2021/06/18 08:00]後藤大地 ブックマーク ブックマーク

前回、前々回と、「Winget」と「Windows Terminal」について重要なリリースが立て続けに発表されたので、そちらを取り上げた。この流れでもう1つだけ、取り上げておきたいリリースがある。最近更新されたVisual Studio Code向けの拡張機能「PowerShell(PowerShell Language Support for Visual Studio Code)」についてだ。PowerShellスクリプトを開発していく上で大切な機能なので、ここで簡単に説明しておこう。

Visual Studio Code

ご存知の通り、Windowsで最も人気のある開発環境が「Visual Studio Code」だ。Visual Studio Codeは特定のプログラミング言語の開発環境ではない。拡張機能をインストールすることでどんなプログラミング言語の開発環境にもなる。この懐の広さがVisual Studio Codeの人気の理由の1つだ。

PowerShellスクリプトの開発を行うのであれば、PowerShell用の拡張機能をインストールすればよい。拡張機能はいくつかあるが、Microsoftが開発している「PowerShell」という拡張機能が公式だと言えるだろう。この拡張機能を使うことで、さまざまなサポートを得ることができる。

PowerShell拡張機能が有効になっているVisual Studio Codeの使用サンプル

PowerShell拡張機能が有効になっているVisual Studio Codeの使用サンプル

PowerShell拡張機能が有効になっているVisual Studio Codeの使用サンプル

Visual Studio Codeを使うことの最大の利点は、拡張機能がVisual Studio Codeの提供している共通機能の恩恵を得られるという点にある。拡張機能はコーディング支援を行う機能を全て自前で開発しなければならないかといえばそうでもなく、すでに共通機能として用意されている機能を利用して実装を行えばよい。つまり、すでにほかの拡張機能が使っている機能を使って開発機能を開発することができるのである。

それはPowerShell拡張機能も例外ではない。PowerShell拡張機能もVisual Studio Codeが提供している共有機能を使ってコーディング支援機能を実装している。

PowerShell拡張機能 5月更新版の変更点

執筆時点でMicrosoftが開発しているPowerShell拡張機能の最新版は「v2021.5.1」だ。

PowerShell拡張機能 PowerShell Language Support for Visual Studio Code version v2021.5.1

このバージョンの主な変更点は次の通り。

  • デフォルトでセマンティックハイライトを無効化
  • PowerShell wordSeparatorsから$と-を排除
  • デバッグ中に名前がついていないPowerShellファイルを保存するように促す動作を廃止
  • OmniSharpをバージョン0.19.2へアップグレード
  • 重複して登録されていたコマンドを排除
  • 補完機能によって予期せぬモジュールimportがトリガーにされる動作を修正


今回セマンティックハイライトが無効化されたのは、まだこの機能の実装が不十分なため、有効にすると逆に扱いにくくなるからだ。そのため、問題が修正された問題なく動作するようになるまでは無効化するということだろう。

なお、セマンティックハイライトの機能を有効に戻したい場合には次のように設定すればよい。

"[powershell]": {
    "editor.semanticHighlighting.enabled": true
}

wordSeparatorsから「$」と「-」を抜いたのは、単語区切りの挙動をVisual Studio Codeに揃えるためだ。変数をダブルクリックすると拡張機能が強調表示する部分と同じ部分が選択されるようになる。細かい変更だが、こうなっていないと操作を誤りやすいことを考えると重要な変更だ。

あまり戻したいというケースはないと思うが、もし変更される前の状態に戻す場合には次の設定を行う。

"[powershell]": {
    "editor.wordSeparators": "`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?"
}

今回のバージョンで最も重要な変更は「OminiSharp」がバージョン0.18.3から0.19.2へアップグレードされた点にあるとされている。OmniSharpは言語サーバプロトコルおよびデバッグアダプタプロトコルサーバライブラリであり、PowerShell拡張機能が利用する非常に重要なライブラリである。このバージョンに追従していくことはPowerShell拡張機能にとって大切なことなのだ。

それ以外にもいくつものバグが修正されている。PowerShell拡張機能を使っているのであればもうアップデートが適用されているとは思うが、まだ使ったことがないならこのタイミングで使い始めてみるとよいだろう。

今後の開発も活発に進められる予定

こうした拡張機能にとって重要なのは、開発が活発に継続されているかどうかにある。今後の開発計画を見るに、PowerShellの拡張機能は今後も良い状態が続くことが予測される(参考:「Projects · PowerShell/vscode-powershell」)。

PowerShellを取り巻く環境は基本的にはオープンソースソフトウエアモデルになってきており、Microsoftはコミュニティの意見や行動をどうやって開発に取り組んでいくかに力を入れている。Windowsにおいて、PowerShellはデフォルトのシェルとしての立場を確かなものにしており、今後もPowerShellを取り巻く状況は活発な状態が続くことが予測される。

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

一覧はこちら

連載目次

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

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

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

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

関連リンク

この記事に興味を持ったら"いいね!"を Click
Facebook で TECH+ の人気記事をお届けします
注目の特集/連載
[解説動画] Googleアナリティクス分析&活用講座 - Webサイト改善の正しい考え方
Slackで始める新しいオフィス様式
Google Workspaceをビジネスで活用する
ニューノーマル時代のオウンドメディア戦略
ミッションステートメント
次世代YouTubeクリエイターの成長戦略
IoTでできることを見つけるための発想トレーニング
教えてカナコさん! これならわかるAI入門
AWSではじめる機械学習 ~サービスを知り、実装を学ぶ~
Kubernetes入門
SAFeでつくる「DXに強い組織」~企業の課題を解決する13のアプローチ~
マイクロサービス時代に活きるフレームワーク Spring WebFlux入門
AWSで作るマイクロサービス
マイナビニュース スペシャルセミナー 講演レポート/当日講演資料 まとめ
セキュリティアワード特設ページ

一覧はこちら

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

一覧はこちら

会員登録(無料)

ページの先頭に戻る