PowerShell 7.0.0 Preview5新機能 - 強化されたタブ補完機能

【連載】

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

【第74回】PowerShell 7.0.0 Preview5新機能 - 強化されたタブ補完機能

[2019/11/15 08:00]後藤大地 ブックマーク ブックマーク

  • サーバ/ストレージ

サーバ/ストレージ

強化されたタブ補完機能

「PowerShell 7 Preview 5」にはプログラミング言語としての新機能も追加されているが、インタラクティブシェルとしての利用においての利便性も向上している。特に注目したいのがタブ補完機能の強化だ。PowerShellはもともとタブ補完でさまざまな入力補完を行ってくれるが、PowerShell 7 Preview 5ではこの機能がさらに強化されている。

PowerShell 7 Preview 5

今回はこの強化されたタブ補完機能について紹介する。この機能は基本的にタブキーを押すことで機能するので、何も考えなくてもいつの間にかこれまでよりも便利になっているというものだ。しかし、どのような改善が行われたのか知っておくことに損はないだろう。

新しいタブ機能の実行サンプル

例えば、1つ前のプレビュー版であるPowerShell 7.0.0 Preview 4で次のようにタブ補完を実行すると、変数として代入できる値ではなく、カレントディレクトリのファイルやディレクトリが補完候補として表示されている。

PowerShell 7.0.0 Preview 4

PowerShell 7.0.0 Preview 4でのタブ補完サンプル

PowerShell 7 Preview 5ではこうした場合のタブ補完機能が強化されており、次のように動作が変更された。

この状態でタブキーを押す

CategoryViewが候補として表示された。ここでさらにタブキーを押す

補完候補がCategoryViewからConciseViewへと変わる。ここでさらにタブキーを押す

補完候補がNormalViewに変わる。タブキーを押すごとにこのように代入できる候補が表示される

簡単に言うと、変数に代入する候補がタブキーで表示されるというものだ。候補が表示可能な場合にはタブキーで候補が順次表示されるようになる。タイプミスなどもなくなる便利な機能だ。

次のように明示的に代入できる候補を指定してみると、この補完機能がどのように機能するのかがよくわかる。

整数として1、2、5、10のどれかが代入できる変数$vを作成しようとしている

タブキーを押すと1が表示される

もう一度タブキーを押すと2が表示される

もう一度タブキーを押すと5が表示される

もう一度タブキーを押すと10が表示される

このように入力可能な値が補完候補として表示されることがわかる。もうひとつ、入力対象が限定されるケースとして列挙型を考えてみる。次のようにOSという列挙型を作成し、変数$vへ値を代入してみようとしてみる。

Windows、macOS、Linuxを値として取るOSという列挙型を用意

タブキーを押すと入力候補としてLinuxが表示される

タブキーを押すとmacOSが表示される

タブキーを押すとWindowsが表示される

こんな感じでタブ候補で適切な値をインタラクティブに選択できるようになった。これならPowerShellをインタラクティブシェルとして使っている間も入力ミスを減らすことができる。「Visual Studio Code」などの統合開発環境を使っている場合なら統合開発環境側から入力支援が行われるが、PowerShell 7からはインタラクティブに使っている状態でもそうした補完が機能することになる。

Visual Studio Code

これまでPowerShellの開発では、「PowerShell ISE」を使うというのが定番だったが、Microsoftはデフォルトの開発環境として今後はVisual Studio Codeを提供していくことを発表している。

まだ機能が不足しているものの、2020年1月に公開が予定されているVisual Studio CodeのPowerShellエクステンションにはPSReadLineの完全サポート、Omnisharpの統合、PowerShellスクリプトアナライザのホストが含まれる予定になっている。また、このバージョンからはPowerShell 3.0とPowerShell 4.0のサポートも廃止になる見通しになっている。

PowerShellにとって、2019年はプログラミング言語としての注目度が大きく上昇した年でもあった。PowerShell CoreがLinuxおよびmacOSでも使えるようになったことや、Windows PowerShellの後継をPowerShell 7にすると発表されたことなどが理由の1つだと考えられる。今後、PowerShellを巡る取り組みはますます活発になっていきそうだ。

参考資料

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

一覧はこちら

連載目次

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

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

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

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

関連リンク

この記事に興味を持ったら"いいね!"を Click
Facebook で IT Search+ の人気記事をお届けします

会員登録(無料)

注目の特集/連載
[解説動画] Googleアナリティクス分析&活用講座 - Webサイト改善の正しい考え方
[解説動画] 個人の業務効率化術 - 短時間集中はこうして作る
ミッションステートメント
教えてカナコさん! これならわかるAI入門
知りたい! カナコさん 皆で話そうAIのコト
対話システムをつくろう! Python超入門
Kubernetes入門
AWSで作るクラウドネイティブアプリケーションの基本
PowerShell Core入門
徹底研究! ハイブリッドクラウド
マイナビニュース スペシャルセミナー 講演レポート/当日講演資料 まとめ
セキュリティアワード特設ページ

一覧はこちら

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

一覧はこちら

ページの先頭に戻る