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
- ソリューションとプロジェクト
- インテリセンスとシンタックスハイライト
- ソリューションを横断した検索など
- モジュールの読み込み
- デバッグ
- スクリプト実行 に 選択部分の実行
- まだまだ更新されている
- 本家 Visual Studio が 標準で PowerShell をサポートしないの
- GitHub
- まとめ
Visual Studio adds language support for Powershell in Visual Studio 2012 and 2013
間違いなく現時点ではトップクラスに使いやすいPowerShellのためのVisual Studio Extension(VS拡張)です。
このVS拡張をいれることで、 Visual StudioでPowerShellがかけます。
現在、 Visual Studio 2012 / 2013で、 PowerShell 3.0とv4に対応しています。
ソリューションとプロジェクト
正直、現時点でもすでにISEを凌駕する部分が多いのですが、特にソリューション/プロジェクトはモジュールを書くときにすでに欠かせません。
ここにProductivity Power Tools 2013が加わるとますます操作が楽になります。
インテリセンスとシンタックスハイライト
もちろんインテリセンスもサポートしています。 シンタックスハイライトもそれなりにかかります。*1
ソリューションを横断した検索など
ソリューション全体を扱えるので検索がはかどるのは目覚ましいものがあります。
モジュールの読み込み
もちろんModuleの読み込みも可能です。
ただ、Manifestの設定画面はあっても、自動生成にはまだ対応していません。
なので、.psd1は自分で出力してあげる必要があります。
デバッグ
もちろんデバッグも可能です。デバッグポイントを設定して、ステップ実行も。
オブジェクトの状態もみれますし、
変数に合わせてTipsも。
ウォッチウィンドウまで可能です。
スクリプト実行 に 選択部分の実行
スクリプトとしての実行 (Shit+Alt+F5)も、選択部分の実行(Ctrl+F8) も可能です。
まだまだ更新されている
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生成をサポートしていないので、ぐぬぬ。
まとめ
MVPすごい、はんぱない。Visual Studioかわいいよ
いつまでPowerShell ISEでモジュール開発してるんです?
*1:まだまだISEに及ばないけど、必要十分