PowerShellコンソールを拡張できるPSReadLineが良さそう

Hey, Scripting Guy!の以下の記事にPowerShell Consoleが拡張できるPSReadLineについて書いてあって、一目見て便利そうなので設定してみました。

blogs.technet.com

 
 
何ができるかと言えば以下の画面で一目でわかると思います。PowerShellコンソールでコマンドに色が付いてます。シンタックスハイライトができてます。
f:id:yomon8:20150429222302p:plain
 
 

インストール

PSGet使うと簡単なのでPSGetをまずはインストールします。
PsGet - PowerShell Modules Directory - Get started

インストールは簡単です。コンソールから以下のコマンドを叩くだけです。GitHubから自動でPSGetをインストールしてくれます。

(new-object Net.WebClient).DownloadString("http://psget.net/GetPsGet.ps1") | iex

f:id:yomon8:20150429222716p:plain
 
 
 
次にPSReadLineをインストールします。こちらもコマンド一本です。インストール後即時でシンタックスハイライトが効いています。

Install-Module PSReadLine

f:id:yomon8:20150429223155p:plain
 
 

起動時に自動でPSReadLineを使える状態にする

このままだとコンソールを閉じて、次回起動したときにはPSReadLineは読み込まれていない状態です。以下のコマンド一本で読み込めるのですが、面倒なので起動時に自動で読み込むように設定します。

Import-Module PSReadLine


PowerShellコンソールを開き以下のコマンドを実行します。これでPowerShellコンソールのプロファイルをメモ帳で開けます。

notepad $profile

f:id:yomon8:20150429223443p:plain
 

メモ帳にPSReadLineの読み込みコマンドを追記して保存します。これで次回起動時にもPSReadLineが読み込まれている状態になるはずです。
f:id:yomon8:20150429223552p:plain
 
 
 

シンタックスハイライト以外の機能

まず簡易なシンタックスチェックができるようです。括弧の付け忘れ程度のようですが、プロンプトの最初の「>」が赤くなっているのがわかると思います。
f:id:yomon8:20150429223748p:plain

 
後は、ISE使っている時と同じようにCtrl+[Space]を押すとメソッドの候補の一覧が表示されてカーソルキーで選択できます。こちらはかなり便利。
f:id:yomon8:20150429224046p:plain
 
 
他に良いと思ったのはRedo/Undoです。エディタのようにCtrl+ZとCtrl+Yが使えます。「^Z^Z^Z^Z^Z」なんてなる状態とはおさらばです。

 
 
まだ使い始めたばかりなので、何かあれば追記していきます。

2015/07/30追記

Windows 10やWindows Server Technical PreviewにはPSReadLineがデフォルトで入っているようです。