Visual Studio 2005 VSDir の項目およびフラグ定数

TYPE LIBRARY


VSDir 書式項目

Visual Studio 2005 の C++ カスタムウィザードの "$(ProjectName).vsdir" ファイルで指定できる項目です。

次の項目を "|" で区切って 1 行で指定してあげる感じになります。省略時には 0 を指定するようにと Visual Studio 2005 に付属の文書では触れられているようですけど、実際には ' ' という空白文字で省略しているような感じでした。

 

1 - RelPathName [必須]

実装に関する詳細情報が記された "$(ProjectName).vsz" ファイル名を指定します。

Visual Studio 2005 の付属文書によると Visual Studio 2005 をインストールしたフォルダからの相対パスで指定するような記載がありますけど、なんとなく、この "$(ProjectName).vsdir" ファイルからの相対パスのような感じもします。

2 - {clsidPackage} [省略 = ' ']

ローカライズ済みのリソースを含む DLL を持つ製品をあらわす GUID だそうです。

通常は、空白1字を入力して省略すればいいようです。

3 - LocalizedName [省略可]

ウィザード名やテンプレート名、[項目の追加] ダイアログボックスに表示される名前などです。

一般的な文字列の他、#ResID 形式のリソース識別名も指定できる、とのことです。

4 - SortPriority [必須]

ウィザードの並べ替え順序と、相対優先順位を示す整数値です。

1 が優先順位がいちばん高いそうです。

5 - Description [必須]

このウィザードに関する説明文です。

一般的な文字列の他、#ResID 形式のリソース識別名も指定できる、とのことです。

6 - DLLPath または {clsidPackage} [必須]

DLL や EXE ファイルへのパス、またはアイコンリソースを含む DLL を持っている製品の GUID だそうです。

Visual Studio 2005 に付属の文書を見る限りでは必ず指定するとのこと なのですが、今回作成したカスタムプロジェクトでは空白1文字となっていて、省略されているようです…。

7 - Flags [必須]

カスタムプロジェクトを調整するためのビットフラグです。

Visual Studio 2005 に付属してる文書だと 8 番目に登場していますけど、なんとなく 7 番目のような気がします。どのようなフラグが 設定できるのかは、Visual Studio .NET の頃にまとめておいた Visual Studio .NET VSDir フラグ定数 がそのまま利用できそうなので参考にしてみてください。

ただ、ディフォルトでは 6777 、つまり VSDIRFLAG_DisableNameField (4096) | 2048 | 512 | 64 | VSDIRFLAG_DisableLocationField (32) | 16 | VSDIRFLAG_DontAddDefExtension (8) | VSDIRFLAG_NonLocalTemplate (1)  という値が設定されているようでした。一覧に該当しない数値についても少し調べてはみましたけど、よく判らない感じでした。

8 - IconResourceID [省略可]

表示するアイコンを指定する、DLL 内のリソース識別子だそうです。

Visual Studio 2005 に付属している文書では 7 番目に登場していますけど、なんとなく 8 番目の項目のような気がします。 省略可能で、今回作成したカスタムプロジェクトでも空白 1 文字が指定されてある感じでした。

9 - SuggestedBaseName

プロジェクト名フィールドに表示される既定のウィザード名を決定します。

文字列の他に #ResID を指定することが出来るとのことで、ここに指定した名前のファイルが既に存在しているような場合には、末尾に自動的に通し番号が付加されるとのことでした。

 

VSDir フラグ定数

"$(ProjectName).vsdir" ファイルの 7 項目で指定可能なフラグ定数です。これらの値は足し合わせることで複数のフラグを同時に指定することが出来るようになっています。

Name Value  
VSDIRFLAG_NonLocalTemplate 1 非ローカルのユーザー インターフェイスの動作と保存機構を使用 (?)
VSDIRFLAG_BlankSolution 2 空のソリューションを生成
VSDIRFLAG_DisableBrowseButton 4 このプロジェクトまたはアイテムの [参照] ボタンを無効にする
VSDIRFLAG_DontAddDefExtension 8 アイテムにつける名前に、既定の拡張子を付加しない
VSDIRFLAG_DisableLocationField 32 プロジェクトまたはアイテムの [場所] フィールドを無効にする
VSDIRFLAG_DontInitNameField 4096 プロジェクトまたはアイテムの [プロジェクト名] に、有効な名前を初期値として設定しない
VSDIRFLAG_DisableNameField 8192 プロジェクトまたはアイテムの [プロジェクト名] フィールドを無効にする