2011年12月15日木曜日

◆PowerShell V3 のISEを試す

先日PowerShellバージョン3のCTP2が出たのでインストールしてみました。
リリースノートの他に、ISE(だけ)の説明がPDFで添付されていたのでISEの改善に力が入れられえているのかと思ったりしています。

そこで、せっかくなのでPDFを見ながら新機能を検証していきたいと思います。

全体的な印象としてはVisualStudioの機能がだいぶ取り入れられているのが目立ちます。
また、CTP1と比べても大きな変更がありました。
CTP1で追加されたコマンドレットの入力をGUIで補助するペインはなくなったようです。
(違った、デフォルトで表示されなくなっただけでメニューで指定すれば表示可能)
image
こんなやつが表示されていたのですが、デフォルトでは表示されておらず、「Show-Command」コマンドレットで呼び出す形になったようです。(Show-Command自体はCTP1から使えましたが)

バージョン2までは3ペインの画面だったのが、独立していたコマンド入力ペインが無くなり通常のコマンドライン画面と同じになっています。
image

機能的なところを順次見ていくと、

インテリセンス機能

VisualStudioに似たインテリセンス機能が追加されています。
コマンドレットの動詞の後に「‐」を入力したタイミングで選択肢が表示されます。
image

当然、パラメータも「-」を入力すると表示されます。
image

パラメータの列挙値なんかもこの通り。
image

さすがにスクリプトなので、ここでは出てくれないが、
image

実行させながら進めばちゃんと表示してくれる。
image

ちなみに、「F8」キーを押すとカーソルのある行だけを実行してくれる。(行を選択する必要は無い)

staticなメンバーなんかも大丈夫。
image

ディレクトリ表示もOK。
image

インテリセンスの再表示はVisualStudio同様に、「Ctrl  +  スペース」で。

スニペット

これもVisualStudio同様にコードスニペットが使えるようになった。
スニペットを表示するには「 Ctrl  +  J 」
image

実際に展開される内容もチップに表示されるので内容を確かめながら追加することが出来る。

また、スニペットは自作することも可能で、以下のコマンドが紹介されている。

New-Snippet -Title "Show Definition" -Description "Shows command definition" -Text "(Get-Command ).Definition" -CaretOffset 13

しかし、私の環境では上記コマンドでスニペット用のXMLファイルは作成されるものの有効にはなってくれなかった。
手動でLoadするコマンドも紹介されていたのだが、引数が間違っていたりとだいぶ怪しげな雰囲気なのでこれ以上調べるのは止めにした。
参考までにスニペットの実体であるXMLのサンプルをそのまま載せておく

image

エディタの拡張

括弧の始まりと終わりを対でグレー表示してくれる。
image


アウトライン表示(折りたたみ可能)
image


#region指定が可能
image

パースエラーをリアルタイム表示してくれる。
image

リッチコピーへの対応(Wordなどに貼り付けても色付けを保ってくれる)

ブロック編集(選択)への対応
image
Altキーを押しながら選択することによりブロックでの選択が可能。

どれもVisualStudioではおなじみの機能ですね。
嬉しいのが、1行単位のコピー&ペーストは行選択が不要になっているようです。
選択しなくても、カーソルのある行をコピーしてくれて、カーソルのある上の行に貼り付けてくれます。
また、行を選択しなくてもF8キーを押すとカーソルのある行を実行してくれるようになりました。

コマンドレットの上でF1キーを押すと以下のようなヘルプウインドウを表示してくれるようになりました。
image

これは、「Get-Help」の「ShowWindow」パラメータとして実装されているようなので通常のコマンドラインからも使えます。

その他

  • Add-Onの追加
    WebSiteで提供されるAdd-Onを自由に追加できるようです。
    image
  • 自動保存機能
    デフォルトでは2分間隔で保存されるようです。
  • 起動パラメータ
    いくつかの起動パラメータがサポートされたようです。
    –File: Starts the ISE with the file(s) given
    –NoProfile: Starts the ISE without running $profile
    –Help: Displays a help window
    –mta: Starts the ISE in multi-threaded apartment mode. (The default is STA)
  • 「最近使ったファイル」のサポート
    デフォルトでは直近の10個まで表示されるようです。
    image 
  • ヘルプのアップデート機能
    image

大体の機能がPowerShell独自の機能というわけではないので目新しさはありませんが、これでViaualStudioユーザーもあまりストレスを感じずにPowerShellを使えるのではないでしょうか。

0 件のコメント:

コメントを投稿