Visual Studioで『Custom Project Templates』の作成
はじめに
- はじめに
- 検証環境
- Templateの作り方
- 既存ProjectからTemplateのExport
- オリジナルのテンプレートを配置する
- Error回避Tips
- 自作Templateから新規Project作成
- 既存のテンプレート保存場所
- まとめ
Visual Studioには、元々コンソール アプリ(.NET Core)
や ASP.NET Core Web アプリケーション
など色々なProject Templateが用意されています。
既存のTemplateに加えて、『Custom Project Templates』を追加することもできるため、開発チームや自分用に予め用意しておけば、非常に開発が捗ります!!
今日は『Custom Project Templates』の作り方についてまとめていきます。
検証環境
- Windows10 Pro
- Visual Studio 2019
上記の環境で、検証を行っています。
Templateの作り方
知らないと何となく難しそうなTemplate作成ですが、比較的簡単に作成することができます。主なTemplateの作り方は、次の2通りです。
- 既存ProjectからExportする。
.vstemplate
ファイルを自作する。
特に1. 既存ProjectからExportする。
は非常に簡単で、開発で特定のProjectをテンプレート化したいという場合は、ボタンをクリックするだけでほぼ終わりです。
個人的には、ほとんどの場合が1
の方法で作成しています。
なんでも良いので、適当なProjectをExportしてから、カスタマイズした方が.vstemplate
ファイルのタグを一から入力する必要がなくて、楽だからです。
既存ProjectからTemplateのExport
さっそく、既存ProjectからTemplateを作成していきます。
Visual Studioを開いたら、まずメニューのプロジェクト(P)
を選択します。
プロジェクトを選択するとテンプレートのエクスポート(E)
があるはずなので、それを選択します。
テンプレートのエクスポート(E)
を選択すると出力メニューが開くので、ガイドに沿って進めていきます。
Project Templateを作成する場合は、プロジェクト テンプレート(R)
にチェックが入っていることを確認して、出力対象のProjectを選択します。
今回のサンプルには、TargetProject
しか存在しないので、それを選択します。
テンプレート名
は新規プロジェクト追加時に表示されるテンプレート名のことで、検索にも使用するので分かりやすい名前を付けておきましょう。
また、.NET Frameworkなど特定のフレームワークに依存する場合は、(.NET Framework)
など識別できるようにしておくのがポイントです。
後は完了
をクリックすれば、出力は完了です。
出力したテンプレートは、下記のフォルダに出力されます。
%USERPROFILE%\Documents\Visual Studio 2019\My Exported Templates
.zip
ファイルが確認できれば、出力は完了です。
オリジナルのテンプレートを配置する
完成したProject Templateを配置していきます。オリジナルで作成したものに関しては、User用のフォルダへ配置する必要があります。
(ちなみに、既存ProjectからExportした場合は自動的にUser用フォルダにも出力されます。)
%USERPROFILE%\Documents\Visual Studio 2019\Templates\ProjectTemplates
のフォルダ直下にTemplateを配置していきますが、ここでポイントがあります。
配置する際には、フォルダを.zip圧縮する必要があります。
(展開する必要はありません。)
加えて重要なポイントとして、圧縮したファイルのRootに.vstemplate
ファイルが含まれている必要があります。
先ほど、作成したTemplateにも.vstemplate
ファイルが含まれているのが確認できます。
これで準備完了です。
Error回避Tips
1. User用フォルダへの配置忘れ
ちなみにMy Exported Templates
側の.zip
ファイルを修正して、User用フォルダに配置しない。というミスが良くあります。
あくまで、Templates\ProjectTemplates
配下に配置したものが読み取られるので注意しましょう。
2. 圧縮方法を間違え
先ほど、.zip
ファイルにする必要があるといいましたが、ここにもポイントがあります。
自作したTemplateをフォルダごと圧縮してしまうと、.zip
ファイルはフォルダが入れ子の状態になってしまいます。
あくまで、Rootに.vstemplate
ファイルが含まれている必要があるので注意しましょう。
(圧縮したいファイルやフォルダを全選択した状態で、送る
から圧縮すれば、入れ子にはなりません。)
自作Templateから新規Project作成
それでは最後に、自作TemplateからProjectを作成してみます。 新しいプロジェクトの追加から、先ほどの"SampleExportTemplate (.NET Core)"を検索します。
先ほどの自作Templateが確認できましたね!
後はプロジェクトを作成するだけです。
対象にしたTargetProject
と同じ構成のProjectが作成されたことが確認できました。
既存のテンプレート保存場所
Templateを作成するのであれば、既存Templateに一通り目を通しておくと良いと思います。
下記のフォルダに配置されていますが、くれぐれも壊さないように注意しましょう!!
%ProgramFiles(x86)%\Microsoft Visual Studio\2019\<edition>\Common7\IDE\ProjectTemplates\<Language>\<Locale ID>
まとめ
- 自作Templateを作るのは意外に簡単。特に既存のProjectからのExport。
- 自作Templateを配置する際にミスが多いので注意する。
これだけでも十分に便利ですが、今回の方法だと少し不便な部分があります。
例えば、新規プロジェクト作成の際に入力したプロジェクト名に応じて、ファイル名を変更したい場合などは単にExportするだけでは対応ができません。
次は.vstemplate
を編集して、より便利なTemplateを作成していきます。