.NET TIPS

独自の項目テンプレートを作成するには?[VS 2005のみ]

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

 「TIPS:独自の項目テンプレートを作成するには?」では、作成するアプリケーションのひな形となる一連のソース・ファイルを生成する、独自の項目テンプレートの作成方法を紹介した。このような独自の項目テンプレートは特に「新規にプログラムを作成する際、毎回同じようなソース・コードを最初に書き加えているケース」で役立つ。

 しかしこのようなテンプレートによるひな形のソース・コードが必要となる場面は、プロジェクトの新規作成時だけではない。例えば、Windowsフォームでダイアログ画面を作る際に、毎回、右下に[OK]ボタンと[キャンセル]ボタンを追加しているような場合、そのような定形作業は省略してしまい、もっとロジックの実装など重要な部分に注力した方が利口である。つまり、プロジェクトの項目単位(=ファイル単位)でもテンプレート化したい場合も多々あるのだ。

 Visual Studio 2005(以降、VS 2005)は標準で、このような項目単位のテンプレート(以降、項目テンプレート)をたくさん用意してくれている。例えば「テキスト ファイル」「XML ファイル」などのファイル・フォーマットに基づく新しいファイルから「MDI親」「情報ボックス」など典型的なフォーム内容をコーディング済みのものまである。

Visual Studio 2005の項目テンプレートの例
Visual Studio 2005の[ソリューション エクスプローラ]で右クリックし、表示されるコンテキスト・メニューから[追加]−[新しい項目]をクリックして、[新しい項目の追加]ダイアログを開いたところ。[テンプレート]の欄に、「テキスト ファイル」や「MDI親」などの項目テンプレートが表示されている。

 VS 2005では、このような独自の項目テンプレートを簡単に作成できる機能が搭載されている。

VS 2005で独自の項目テンプレートを作成するには?

 本稿では、例として「[OK]ボタンと[キャンセル]ボタンを持つダイアログのWindowsフォーム」を、独自の項目テンプレートとして作成する方法を示すとしよう。

 まずはVS 2005で、ひな形となるファイル(ここではWindowsフォーム)を完成させてほしい(本稿では次のようなファイルを作った)。

項目テンプレートの元になるファイルの例
このファイル(ここではWindowsフォーム)では、右下に[OK]ボタンと[キャンセル]ボタンが追加されている。

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

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

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

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

独自の項目テンプレートの例
VS 2005で再び項目テンプレートを開いたところ。[テンプレート]の下部にある[マイ テンプレート]の欄に、独自に作成した「OkCancelDialog」という項目テンプレートが表示されている。なお、そのテンプレート項目を選択すると、ダイアログの下の方に[テンプレートの説明]に指定した内容(本稿の例では「[OK]ボタンと[キャンセル]ボタンを持つダイアログのWindowsフォーム」)が表示されていることが分かる。

 このように項目テンプレートが追加され、先ほど指定した[テンプレート名]でテンプレートが作成されているのが分かる。このテンプレート名を日本語にする方法は「TIPS:独自のプロジェクト・テンプレートの表示をカスタマイズするには?」の説明が参考になるだろう。ただし、プロジェクト・テンプレートが「ProjectTemplatesフォルダ」であるのに対し、項目テンプレートは「ItemTemplatesフォルダ」なので間違えないように注意してほしい。End of Article

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

この記事と関連性の高い別の.NET TIPS
独自のプロジェクト・テンプレートを作成するには?
[ASP.NET]ログイン・コントロールのレイアウトをテンプレート定義するには?
[ASP.NET]Repeater/DataListコントロールのテンプレートを別ファイルで管理するには?
独自のプロジェクト・テンプレートの表示をカスタマイズするには?
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 記事ランキング

本日 月間