tech.guitarrapc.cóm

Technical updates

Visual Studio への Bring PowerShell support to the editor は果てたのか

PowerShell を書く環境として、私は全面的に Visual Studio + PowerShell Tools for Visual Studio を採用しています。

何がいいかというと、なれた Visual Studio の画面でこれまで通りの操作をできる、Visual Studio の IDEサポートを受けられる点です。

少し眺めながら、将来どうなるのか見てみましょう。

目次

Visual Studio adds language support for Powershell in Visual Studio 2012 and 2013

間違いなく現時点ではトップクラスに使いやすい PowerShell のための Visual Studio Extension です。

このExtension をいれることで、 Visual Studio で PowerShell がかける喜びが味わえます。

現在、 Visual Studio 2012 / 2013 で、 PowerShell v3 と v4 に対応しています。

ソリューションとプロジェクト

正直、現時点でもすでに ISE を凌駕する部分が多いのですが、特にソリューション/プロジェクト はモジュールを書くときにすでに欠かせません。

f:id:guitarrapc_tech:20140319030117p:plain

ここに Productivity Power Tools 2013 が加わるとますます操作が楽になります。

インテリセンスとシンタックスハイライト

もちろん インテリセンスもサポートしています。 シンタックスハイライトもそれなりにかかります。*1

f:id:guitarrapc_tech:20140319045549p:plain

ソリューションを横断した検索など

ソリューション全体を扱えるので検索がはかどるのは目覚ましいものがあります。

f:id:guitarrapc_tech:20140319041343p:plain

モジュールの読み込み

もちろん Module の読み込みも可能です。

f:id:guitarrapc_tech:20140319042302p:plain

ただ、Manifest の設定画面はあっても、自動生成にはまだ対応していません。

f:id:guitarrapc_tech:20140319050329p:plain

なので、.psd1 は自分で出力してあげる必要があります。

f:id:guitarrapc_tech:20140319050415p:plain

デバッグ

もちろんデバッグも可能です。デバッグポイントを設定して、ステップ実行も。

f:id:guitarrapc_tech:20140319042744p:plain

f:id:guitarrapc_tech:20140319044702p:plain

オブジェクトの状態もみれますし、

f:id:guitarrapc_tech:20140319042627p:plain

変数に合わせてTipsも。

f:id:guitarrapc_tech:20140319045625p:plain

ウォッチウィンドウまで可能です。

f:id:guitarrapc_tech:20140319042637p:plain

f:id:guitarrapc_tech:20140319044727p:plain

スクリプト実行 に 選択部分の実行

スクリプトとしての実行 (Shit+Alt+F5)も、選択部分の実行(Ctrl+F8) も可能です。

f:id:guitarrapc_tech:20140319043310p:plain

まだまだ更新されている

Pester による Unit Test から や PSate によるテストランナー、Script への引数サポート、 Read-Host や Get-Credential のサポートなど、インタラクティブな操作にも対応してきています。

printfデバッグじゃないですが、インタラクティブな操作はまだまだPowershell ISE での実行が勝る部分もあります。

が、スクリプト開発 には、もはや ISEでは足りず Visual Studio が最高です。

つまり Visual Studio かわいいよ、Visual Studio。

本家 Visual Studio が 標準で PowerShell をサポートしないの

で、これが今回の記事を書くきっかけになった残念な出来事です。

Visual Studio User Voice で、PowerShell を標準でサポートしてー!っというリクエストがあります。

ここに昨日、2014/3/18 に Visual Studio Editor Team の Mark がコメントしています。

Mark Wilson-Thomas commented · March 18, 2014 07:58

Hi contributors. At this point we don't have any plans to add in-box PowerShell Language support to Visual Studio, since Adam Driscoll's extension covers this requirement well.

https://visualstudiogallery.msdn.microsoft.com/c9eb3ba8-0c59-4944-9a62-6eee37294597

Thanks Mark (Visual Studio Editor Team)

ふぇぇっ..... なんだってー

ということで、 本家ではサポート計画がない.... 逆に

を使えって..... ぐすん。User Voice しましょう。

GitHub

Adam Driscollせんせー の GitHub でコードみれたり Pull Request だせるのでぜひ!

まだ、自動サイン や 自動Manifest 生成をサポートしていないので、ぐぬぬ。

adamdriscoll / poshtools

まとめ

MVPすごい、はんぱない。Visual Studio かわいいよ

いつまで PowerShell ISE で モジュール開発してるんです?

*1:まだまだISEに及ばないけど、必要十分