範本目錄的描述 (。Vsdir) 檔案
範本目錄描述檔 (.vsdir) 是一個文字檔,可以讓整合式的開發環境 (IDE) 來顯示資料夾、 精靈.vsz 檔案與您在對話方塊中的專案相關聯的範本檔案。 內容包括每個檔案或資料夾的一筆記錄。 合併所有的.vsdir 檔中參考的位置時,雖然只有一個.vsdir 檔通常提供來描述多個資料夾、 精靈或範本檔案。
資料夾 (子目錄),都會在.vsdir 檔和.vsdir 檔本身的檔案都位於相同的目錄。 當 IDE 執行精靈,或顯示資料夾或檔案,在新的專案 或 加入新項目的對話方塊,IDE 會檢查包含執行的檔案,來判斷.vsdir 檔是否存在的目錄。 如果找到.vsdir 檔,則 IDE 會讀取以判斷其中是否包含執行] 或 [顯示資料夾或檔案的項目。 如果找到一個項目時,IDE 便會使用精靈的執行中的內容顯示的資訊。
下列程式碼範例是從 SourceFiles.vsdir <EnvSDK> \BscPrj\BscPrj\BscPrjProjectItems\Source_Files 登錄機碼中的檔案:
HeaderFile.h|{E59935A1-6156-11d1-87A6-00A0C91E2A46}|#125|130|#126|0|0|0|#127
SourceFile.cpp|{E59935A1-6156-11d1-87A6-00A0C91E2A46}|#122|110|#123|0|0|0|#124
如此一來,兩個資料錄是一個檔案中。 新的一行 (換行字元) 來分隔每一筆記錄。 每一列都代表不同的檔案類型。 管道 (|) 字元來分隔每一筆記錄的欄位。 單一的目錄可以包含多個具有不同的檔名的.vsdir 檔,或者您可以有.vsdir 檔每個檔案類型。
欄位
下表列出每一筆記錄所指定的欄位。
欄位 |
描述 |
||
---|---|---|---|
相對路徑名稱 (RelPathName) |
資料夾、 範本或.vsz 檔案名稱,例如 HeaderFile.h 或 MyWizard.vsz。 這個欄位也可以用來代表資料夾的名稱。 |
||
{clsidPackage} |
VSPackage 能夠存取當地語系化的字串,如 LocalizedName、 描述、 IconResourceId 和 SuggestedBaseName,VSPackage 的附屬動態連結程式庫 (DLL) 的資源中的 GUID。 如果沒有提供 DLLPath,IconResourceId 會套用。
|
||
LocalizedName |
精靈的範本檔案的當地語系化的名稱。 這個欄位可以是字串或表單"# resid"資源識別項。 這個名稱會顯示在加入新項目對話方塊。
|
||
SortPriority |
整數,表示這個範本檔案 」 或 「 精靈 」 的相對優先權。 比方說,如果這個項目都有值為 1,此項目會顯示其他項目值為 1 和超前於兩個或更大的在具有排序值的所有項目旁。 排序優先順序是相對於相同的目錄中的項目。 在相同的目錄中可能有一個以上的.vsdir 檔。 在此情況中,從所有的項目 .目錄中的 vsdir 檔案合併。 具有相同優先順序的項目所示的顯示名稱不區分大小寫 lexicographic 的順序。 _wcsicmp函式用來排序項目。 .Vsdir 檔中未描述的項目包括一個優先順序大於.vsdir 檔中所列的最高的優先順序號碼。 結果是清單的這些項目所顯示,不論其名稱結尾處。 |
||
描述 |
精靈的範本檔案的當地語系化的說明。 這個欄位可以是字串或表單"# resid"資源識別項。 這段文字出現在新的專案 或 加入新項目時選取的項目] 對話方塊。 |
||
DLLPath 或 {clsidPackage} |
用來載入範本或精靈圖示。 藉由使用 IconResourceId,圖示會載入為.dll 或.exe 檔案的資源。 使用完整的路徑,或使用 VSPackage 的 GUID,就可以識別此.dll 或.exe 檔。 實作 VSPackage 的 DLL 用來載入圖示 (不附屬 DLL)。 |
||
IconResourceId |
在 DLL 或 VSPackage 實作 DLL 會判斷要顯示的圖示資源識別項。 |
||
Flags (__VSDIRFLAGS) |
用來停用或啟用名稱 和 位置 欄位上 加入新項目對話方塊。 值為旗標欄位是必要的位元旗標組合起來十進位的對等用法。 當使用者選取項目上的 新增 索引標籤上,專案會決定是否有 [名稱] 欄位和 [位置] 欄位顯示的時機 加入新項目第一次顯示對話方塊。 項目,透過.vsdir 檔,可以控制只是否欄位就會啟用與停用選取的項目時。 |
||
SuggestedBaseName |
代表檔案、 精靈或範本的預設名稱。 這個欄位是字串或表單"# resid"資源識別項。 IDE 會使用這個值,來提供項目的預設名稱。 這個基底實值會加上一個整數值,以使名稱是唯一的例如 MyFile21.asp。 在前一個清單中,描述、 DLLPath、 IconResourceId、 旗標,以及 SuggestedBaseNumber 只適用於範本與精靈檔案。 這些欄位並不適用於資料夾。 <EnvSDK> \BscPrj\BscPrj\BscPrjProjectItems 登錄機碼中的 BscPrjProjectItems 檔案中的程式碼說明了這項事實。 這個檔案含有三筆記錄 (一個用於每個資料夾中) 具有四個欄位,以便每一筆記錄: RelPathName,{clsidPackage},LocalizedName,和 SortPriority。 General|{E59935A1-6156-11d1-87A6-00A0C91E2A46}|#110|100 Source_Files|{E59935A1-6156-11d1-87A6-00A0C91E2A46}|#111|110 Env|{E59935A1-6156-11d1-87A6-00A0C91E2A46}|#112|120 |
當您建立精靈 」 檔案時,您也應該考慮下列問題。
任何不具有意義資料的非必要欄位都應該包含一個零 (0) 做為預留位置。
若出現未當地語系化的名稱,相對路徑名稱用於精靈檔中。
DLLPath 會覆寫的圖示位置的 clsidPackage。
如果沒有定義圖示,IDE 會以替代具有該副檔名的檔案的預設圖示。
如果未不提供任何建議的主檔名,則會使用 [專案]。
如果您刪除.vsz 檔案、 資料夾或範本檔案時,您也必須移除其相關的記錄.vsdir 檔中。