VC2010のカスタムウィザードを作る その1
Visual Studio 2010にてVCのカスタムウィザードを作ってみた。
まずはプロジェクトの作成と、編集するファイルの確認。
作成するきっかけは、CppUnitを試していた際、
- ライブラリのビルドが必要
- ヘッダ多い
- デバッグとリリースでライブラリ違う
- main関数が使いまわせる
と、なかなか利用するまでの手順が多く煩雑だったため。
ビルドはともかく、プロジェクトの設定や、main関数を毎回書くのは面倒なので、
カスタムウィザードで全部自動で作ってしまえば利用が楽になる。
これまで、VSのプロジェクトはエクスポートして使いまわせると思っていたけど、
VCではカスタムウィザードでちまちまやるしかないらしい・・・
なかなかにめんどくさいが、汎用性は高いのでいろいろできるようになっている。
今回作るウィザードはCppUnitを利用するC++プロジェクト構成を自動的に行うもので、
プロジェクト作成と同時に主に以下のことを自動で行う。
- フィルターの設定
- ヘッダとライブラリのコピー
- main.cpp(main関数)のコピー
- サンプルのテストクラスのコピー
- コンパイラ、リンカ、ビルド後イベントなどの設定
ここまでやれば、CppUnitを使ったことが無くても、参考にしてテストが書けると思う。
カスタムウィザードはファイルのコピーももちろんだが、プロジェクトのプロパティは(おそらく)全て設定できるようになっている。
カスタマイズ性は高いんだけど、その分ドキュメントが複雑。
ただ、見方がわかれば難しくは無いので、自由にカスタムできてむしろ面白い。
リファレンスはこことここ。
基本的にテンプレのコード見れば概要はわかるので、後はリファレンスを元に設定を構築していく。
プロジェクトを作る
通常通りプロジェクトを作る手順で[Visual C++]-[全般]-[カスタムウィザード]を選択する。
カスタムウィザードは「UI」を持つことができる。
例えば、コンソールプロジェクトでアプリかDllかを選べたり、MFCの設定をカスタムするようなヤツだ。
UIはHTMLとJScript(JavaScriptでは無かったような・・・)で作成できる。
ただ、今回はCppUnitの使い方は固定するので、UIは無し。
HTMLわかんねってのもあるけど、カスタムウィザード自体初めてなので、
なるべくシンプル、最小限で作る。
編集するファイル
主に編集するファイルは以下のとおり
- Templates.inf
- default.js
「vsz」や「vsdir」は最後の調整にちょこっと触る。
アイコンはVSのプロジェクト選択画面で表示される。
デフォルトのはあんまりかっこよくないので、できれば準備したい。
「default.vcxproj」はプロジェクトのテンプレとなるファイルだが、今回は使わない。
既存のvcxprojファイルからコピペで構築できるが、あまり作りやすいとは思わない。
Templates.inf
コピーするファイルを指定する。
フォルダも自動的に作成されるので、階層構造になっていても問題ない。
ただ、全てのファイルについて記述しないとならないので、ファイルが多いとめんどくさい。