kazuk は null に触れてしまった

C# / .NET 系技術ネタ縛りでお送りしております

月別アーカイブ: 1月 2013

Visual Studio 2012 の新しいDSL Tools


Visual Studio 2012 の新しい DSL Tools を色々試したので、メモなど。

DSL Tools とは

DSL(Domain Specific Language) ドメイン特化言語を扱う為の Visual Studio 拡張を作る為の物。 DSL Tools はVisual Studio 2005 からできたもので、VS2010移行では Visual Studio Visualization & Modeling SDK に統合されている。

最新の Visual Studio Visualization & Modeling SDK のダウンロード URL は以下のとおり。

http://www.microsoft.com/en-us/download/details.aspx?id=30680

Visual Studio 2010 での Visualization & Modeling SDK との違い

ぶっちゃけあまり変わってない。

WPF デザイナと、WinForms デザイナの選択ができるのも一緒、いわゆるダイアグラムデザイナコンポーネントの類( Box を線で結ぶような物 )は GDI+ でしか提供されていないのも変わらない。 Win Forms と WPF は Alternative ではなく相互にコンポーネントの乗せあいをしながら補完しあう物という筋は Visual Studio 内で当たり前のように行われていてその通りの考え方で Visualization & Modeling SDK も実装されている。

WPF デザイナを選んだ時に生成される UI が単なる表形式 View でぶっちゃけショボイのも変わってない。

そして、待望の WinForms Designer の生成オプションが追加(だと思う、VS2010 版DslToolsの比較対象機をアップグレードしちゃったのでもう解らない)、 Visual Studio のデザイナコンポーネントに依存しない Pure な Win Froms なデザインビューを作れるようになりました。生成物は WPF 版デザイナと変わらない単なるグリッドビューだったりして、コレ追加した意味わかんない系。

image

纏めると、MinimalLanguage が旧来からの GDI+ でのダイアグラムデザイナを実装する物。

Minimal WinForms Designer は WPF 版デザイナ(単なる表形式ビュー)と全く同一構造の Windows Forms 版、 Minimal WPF Desinger は VS2010 からある WPF 版(単なる表形式ビュー)

WinForms 版は BindingSource をうまく使う事でいわゆるMVVM的なデータバインディング一辺倒なつくりになってますね。

imageimage

WPF も WinForms もユーザーコントロールをデザイナサーフェースにできるという事は一緒という事で、その手段でのAPI差異の吸収以外には DslPackage に違いはありません。Dsl 側は全く一緒じゃないかな。

Windows Workflow のデザイナがリホスティング可能だったりしてデザイナコンポーネントをVS依存せずにとかできるんじゃない?とか思ってたりしたんですけど、そこにまつわる変更は無いもよう。 WPF/WinForms の何にもないUIから Windows Workflowのチームがシコシコと再発名したか VS のデザイナコンポーネントから相当量のコードを分岐したってことですか。

良くなったこと

http://msdn.microsoft.com/ja-jp/library/bb126259.aspx 機械翻訳だけど、ちゃんとメニューがつながってる!画期的!(以前は言語を英語に切り替えないといけなかったはず)

DSL Details の表示が壊れていくのが無くなった気がする。

ModelBus 接続が可能になったようだ。

まとまらない

まとめようにもまとまらない。メモだから。

広告