.NET TIPS

独自のプロジェクト・テンプレートを作成するには?[VS 2005のみ]

デジタルアドバンテージ 一色 政彦
2006/12/15

 Visual Studioでは、プロジェクト・テンプレートでプロジェクトを新規作成すると、アプリケーションのひな形となる一連のソース・ファイルを用意してくれる。

Visual Studio 2005のプロジェクト・テンプレートの例
Visual Studio 2005のメニュー・バーから[ファイル]−[新規作成]−[プロジェクト]をクリックして、[新しいプロジェクト]ダイアログを開いたところ。右側の[テンプレート]の欄に、「Windows アプリケーション」や「コンソール アプリケーション」などのプロジェクト・テンプレートが表示されている。

 このプロジェクト・テンプレートは、標準で用意されているもの以外に、独自に作成して追加することが可能だ。独自のプロジェクト・テンプレートは特に、新規にプログラムを作成する際、常に同じ、お決まりのコードが必要なケースで役立つ。

 例えば、Windowアプリケーションのプロジェクトを新規に作成するたびに、毎回、[バージョン情報]ダイアログを書き加えているというような場合には、あらかじめ「[バージョン情報]ダイアログ付きのWindowアプリケーション」のプロジェクト・テンプレートを作成しておけばよい。そうすれば、次回からはそのプロジェクト・テンプレートをベースにしてプログラミングを開始できるので、作業コストを軽減できるだろう。

 Visual Studio 2005(以降、VS 2005)では、このような独自のプロジェクト・テンプレートを簡単に作成できる機能が搭載されている(Express Editionも含む)。

VS 2005で独自のプロジェクト・テンプレートを作成するには?

 本稿では、先ほど例として挙げた「バージョン情報付きのWindowアプリケーション」のプロジェクト・テンプレートを作成して、独自のプロジェクト・テンプレートの作成方法を示すとしよう。

 まずはVS 2005で、ひな形となるプロジェクトを完成させてほしい(本稿では次のようなプロジェクトを作った)。

プロジェクト・テンプレートの元になるプロジェクトの例
このプロジェクトのアプリケーションでは、基本的な項目を持つメニュー・バーを備え、その[ヘルプ]−[バージョン情報]をクリックすると、[バージョン情報]ダイアログを表示するように実装されている。

 次に、VS 2005のメニュー・バーから[ファイル]−[テンプレートのエクスポート]をクリックする。これにより、次のような[テンプレートのエクスポート ウィザード]ダイアログが表示されるので、次の画面の手順にそってウィザードを進めよう。

[プロジェクト テンプレート]を選択して[次へ]をクリック
[テンプレートのエクスポート ウィザード]
このウィザードを使うことで、既存のプロジェクトから独自のプロジェクト・テンプレートを作成できる。各項目を入力後、[完了]ボタンをクリックすれば、プロジェクト・テンプレート・ファイルが.ZIPファイルとして生成される。
  デフォルトのアイコンをそのまま使ってもよいが、独自のアイコンを使用したい場合には、アイコン・ファイル(.icoファイル)へのパスを指定する。右にあるボタンをクリックすると、ファイルを参照できる。
  [テンプレート名]を指定する(本稿の例では「WinAppWithVersionDialog」)。日本語を入力すると警告が出るので、ここでは英語で入力しておくとよい。ここで指定した名前が、そのままプロジェクト・テンプレートのファイル(.ZIPファイル)に使われる。VS 2005上で表示されるテンプレート名を日本語にする方法は「TIPS:独自のプロジェクト・テンプレートの表示をカスタマイズするには?」で説明している。
  [テンプレートの説明]を入力する(本稿の例では「[バージョン情報]ダイアログ付きのWindowアプリケーション」)。
  プロジェクト・テンプレート・ファイル(.ZIPファイル)の[出力場所]が表示される。これは変更できないようで、「マイ ドキュメント\Visual Studio 2005\My Exported Templates」フォルダ内に「<テンプレート名>.zip」という名前で出力されるはずだ。本稿の例では「C:\Documents and Settings\masa-i\My Documents\Visual Studio 2005\My Exported Templates\WinAppWithVersionDialog.zip」となっている。
  [テンプレートを自動的に Visual Studio にインポート]にチェックを入れると(=デフォルト状態)、「マイ ドキュメント\Visual Studio 2005\Templates\ProjectTemplates」の配下に、プロジェクト・テンプレート・ファイル(.ZIPファイル)がコピーされる。この結果、自動的にVS 2005のIDEに認識されることになる(詳細後述)。
  [出力ファイル フォルダにエクスプローラ ウィンドウを表示]に(=デフォルト状態)、プロジェクト・テンプレート・ファイルの作成後、その[出力場所]のフォルダがエクスプローラによって開かれる。

 以上の作業で独自のプロジェクト・テンプレート・ファイル(.ZIPファイル。本稿の例では「WinAppWithVersionDialog.zip」)が生成される。この際、上記画面のにチェックを入れておけば(=デフォルト状態)、「マイ ドキュメント\Visual Studio 2005\Templates\ProjectTemplates」(以降、「ユーザーごとのProjectTemplatesフォルダ」)にファイルがコピーされるが、この「ユーザーごとのProjectTemplatesフォルダ」に置いたプロジェクト・テンプレート・ファイルは、自動的にVS 2005のIDEに認識される(つまり、にチェックを入れなかった場合、「ユーザーごとのProjectTemplatesフォルダ」配下のフォルダに、手動でプロジェクト・テンプレート・ファイルを配置する必要がある)。

 以上で作業は完了である。次の画面はVS 2005で再びプロジェクト・テンプレートを開いたところだ。

独自のプロジェクト・テンプレートの例
VS 2005で再びプロジェクト・テンプレートを開いたところ。独自のプロジェクト・テンプレートが表示されている。なお、そのテンプレート項目を選択すると、ダイアログの下の方に[テンプレートの説明]に指定した内容(本稿の例では「[バージョン情報]ダイアログ付きのWindowアプリケーション」)が表示されていることが分かる。
  左側の[プロジェクトの種類]から先ほど作成したプロジェクト・テンプレートで使用していた言語(本稿では「Visual C#」)を選択する。
  右側の[テンプレート]の下部にある[マイ テンプレート]の欄に、独自に作成した「WinAppWithVersionDialog」というプロジェクト・テンプレートが表示されている。

 このようにプロジェクト・テンプレートが追加され、先ほど指定した[テンプレート名]でテンプレートが作成されているのが分かる。このテンプレート名を日本語にする方法は「TIPS:独自のプロジェクト・テンプレートの表示をカスタマイズするには?」で説明している。End of Article

カテゴリ:Visual Studio 2005 処理対象:プロジェクト
関連TIPS:独自のプロジェクト・テンプレートの表示をカスタマイズするには?

この記事と関連性の高い別の.NET TIPS
独自のプロジェクト・テンプレートの表示をカスタマイズするには?
独自の項目テンプレートを作成するには?
Visual Studio 2005でバージョン情報を設定するには?
Visual Studio 2005でWebアプリケーション・プロジェクトを使うには?
My拡張をパッケージ化して再利用するには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間