【第3回】プロジェクトテンプレートの作り方

次回の記事

terapotan.hatenablog.jp

前回の記事

terapotan.hatenablog.jp

連載記事一覧

  terapotan.hatenablog.jp

前回は、DXライブラリの導入手法について紹介しました。
今回はプロジェクトテンプレートの作り方について紹介します。

プロジェクトテンプレートを使うと?

前回行った設定はDXライブラリを使うプロジェクトを作成するたびに行わなければなりません。
この手間を省くためにVisual Studio 2017 Communityには「プロジェクトテンプレート」という機能が備わっています。
次の章から実際にプロジェクトプレートの作り方を見ていきましょう。

プロジェクトテンプレートの作り方

前回作成したソリューションを開く

前回作成したソリューションを開きましょう。
Visual Studio 2017 Communityを起動し、[ファイル] - [開く] - [プロジェクト/ソリューション]をクリックしてください。
f:id:terapotan:20190401094928j:plain 前回作成したソリューション(ここではWindowsProject1.sln)を選択し開くを押します。
f:id:terapotan:20190401100536j:plain 前回作成したプロジェクトが開かれているはずです。

プロジェクトテンプレートを作る前に

初期状態でソリューションエクスプローラーに表示される「ソースファイル」や「ヘッダーファイル」は実際のファイル構成と何の関係もありません。
f:id:terapotan:20190401095001j:plain

トラブルの元ですので、ソリューションエクスプローラーに実際のファイル構成を表示させるようにします。
下の画像の赤枠をクリックしてください。
f:id:terapotan:20190401101404p:plain
表示が変わって実際のファイル構成が表示されます。

プロジェクトテンプレートを作成する

下の画像を参考に、[プロジェクト] - [テンプレートのエクスポート]をクリックします。
f:id:terapotan:20190401095005j:plain
次のような画面が開きますので、[プロジェクトテンプレート]を選択し次へをクリックします。
f:id:terapotan:20190401094946j:plain 下の画像を参考に、テンプレート名とテンプレートの説明を入力します。(ここではテンプレート名をDxLibとしました。)
f:id:terapotan:20190401094950j:plain これでプロジェクトテンプレートの作成は終了です。

プロジェクトテンプレートを修正する

本来であれば、これでプロジェクトテンプレートが利用できるはずです。
しかしこのままプロジェクトテンプレートを使って新たにプロジェクトを作成してもファイルが出力されません。
そこでプロジェクトテンプレートを修正して出力されるようにします。
プロジェクトテンプレートの実体は、C:\Users\[あなたのユーザー名]\Documents\Visual Studio 2017\Templates\ProjectTemplatesに[プロジェクトテンプレート名].zipという名前のファイルとして置かれています。
今回作成したプロジェクトテンプレートの名前はDxLibですのでDxLib.zipを選択し解凍します。
解凍したフォルダの中のMyTemplate.vstemplateを開きます。

<VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Project">
  <TemplateData>
    <Name>DxLibProjectTemp</Name>
    <Description>DXライブラリを使用してゲームを作成します。</Description>
    <ProjectType>VC</ProjectType>
    <ProjectSubType>
    </ProjectSubType>
    <SortOrder>1000</SortOrder>
    <CreateNewFolder>true</CreateNewFolder>
    <CreateInPlace>false</CreateInPlace>
    <DefaultName>DxLibProjectTemp</DefaultName>
    <ProvideDefaultName>true</ProvideDefaultName>
    <LocationField>Enabled</LocationField>
    <EnableLocationBrowseButton>true</EnableLocationBrowseButton>
    <Icon>__TemplateIcon.jpg</Icon>
  </TemplateData>
  <TemplateContent>
    <Project TargetFileName="DxLibProjectTemp.vcxproj" File="DxLibProjectTemp.vcxproj" ReplaceParameters="true">
     <ProjectItem ReplaceParameters="false" TargetFileName="$projectname$.vcxproj.filters">DxLibProjectTemp.vcxproj.filters</ProjectItem>
     ここに追加
    </Project>
  </TemplateContent>
</VSTemplate>

ここに追加というところに下のコードを貼り付け、上書き保存します。

    <ProjectItem>stdafx.cpp</ProjectItem>
    <ProjectItem>stdafx.h</ProjectItem>
    <ProjectItem>targetver.h</ProjectItem>
    <ProjectItem>[プロジェクトテンプレート名].cpp</ProjectItem>

プロジェクトテンプレートを作成したプロジェクトから(ここではWindowsProject1)からstdafx.cpp,stdafx.h,targetver.h,[プロジェクト名].cppをコピーし、MyTemplate.vstemplate が置かれているフォルダに貼り付けてください。 修正したプロジェクトテンプレートをもう一度圧縮し、元あったDxLib.zipと置き換えます。

自作したプロジェクトテンプレートを使う

f:id:terapotan:20190401122425j:plain 上の画像はプロジェクトを新規作成するときに使った画面です。
Windowsコンソールアプリケーション、空のプロジェクト・・・と並んでいる下に新たに作成したプロジェクトテンプレートが追加されます。
(今回の例ではDxLibという名前のプロジェクトテンプレートが追加される) 追加されたプロジェクトテンプレートをクリックすると、DXライブラリの設定が済んだ状態のプロジェクトが作成されます。

次回は、、、

今回はプロジェクトテンプレートを作成方法について紹介しました。
次回は、Visual Studio 2017 Communityの基本的な操作を紹介します。

次回の記事

terapotan.hatenablog.jp

前回の記事

terapotan.hatenablog.jp

連載記事一覧

terapotan.hatenablog.jp