註冊專案和項目範本
項目類型必須註冊其專案和專案專案範本所在的目錄。 Visual Studio 會使用與專案類型相關聯的註冊資訊,來決定要顯示在 [ 新增專案 ] 和 [新增專案 ] 對話框中的內容。
如需範本的詳細資訊,請參閱 新增專案和項目專案範本。
專案的登錄專案
下列範例顯示HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\<Version> 底下的登錄專案。 隨附的數據表會說明範例中使用的元素。
[Projects\{ProjectGUID}]
@="MyProjectType"
"DisplayName"="#2"
"Package"="{VSPackageGUID}"
"ProjectTemplatesDir"="C:\\MyProduct\\MyProjectTemplates"
名稱 | 類型 | 描述 |
---|---|---|
@ | REG_SZ | 這類項目的預設名稱。 |
DisplayName | REG_SZ | 要從 [套件] 下註冊之附屬 DLL 擷取之名稱的資源識別碼。 |
套件 | REG_SZ | 在 [套件] 底下註冊之封裝的類別標識符。 |
ProjectTemplatesDir | REG_SZ | 專案範本檔案的預設路徑。 [新增專案] 範本會顯示 [項目 範本] 檔案。 |
註冊項目範本
您必須註冊儲存項目範本的目錄。
[Projects\{ProjectGUID}\AddItemTemplates\TemplateDirs\{VSPackageGUID}\1]
@="#7"
"TemplatesDir"="C:\\MyProduct\\MyProjectItemTemplates "
"TemplatesLocalizedSubDir"="#10"
"SortPriority"=dword:00000064
名稱 | 類型 | 描述 |
---|---|---|
@ | REG_SZ | 新增專案範本的資源標識碼。 |
TemplatesDir | REG_SZ | [加入新項目精靈] 對話框中顯示的項目項目路徑。 |
TemplatesLocalizedSubDir | REG_SZ | 字串的資源標識碼,該字串會命名保留本地化範本的TemplatesDir子目錄。 由於 Visual Studio 會從附屬 DLL 載入字串資源,因此每個附屬 DLL 都可以包含不同的當地語系化子目錄名稱。 |
SortPriority | REG_DWORD | 設定 SortPriority 以控管範本顯示在 [ 新增專案 ] 對話框中的順序。 較大型的 SortPriority 值會顯示在範本清單中。 |
註冊檔案篩選
您可以選擇性地註冊 Visual Studio 在提示檔名時使用的篩選。 例如,[開啟檔案] 對話方塊的 Visual C# 篩選條件為:
Visual C# 檔案 (*.cs,*.resx,*.settings,*.xsd,*.wsdl):*.cs,*.resx,*.settings,*.xsd,*.wsdl)
為了支援註冊多個篩選條件,每個篩選都會在自己的子機碼中註冊於 HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\<Version>\Projects\{<ProjectGUID>}\Filters\<Subkey> 底下。 子機碼名稱是任意的;Visual Studio 會忽略子機碼的名稱,並只使用其值。
您可以藉由設定旗標來控制使用篩選的內容,如下表所示。 如果篩選沒有設定任何旗標,則會列在 [新增現有專案 ] 對話框和 [開啟檔案 ] 對話框中的一般篩選之後,但不會用於 [ 在檔案 中尋找] 對話框中。
[Projects\{ProjectGUID}\Filters\MyLanguageFilter]
@="#3"
"CommonOpenFilesFilter"=dword:00000000
"CommonFindFilesFilter"=dword:00000000
"FindInFilesFilter"=dword:00000000
"NotOpenFileFilter"=dword:00000000
"NotAddExistingItemFilter"=dword:00000000
"SortPriority"=dword:00000064
名稱 | 類型 | 描述 |
---|---|---|
CommonFindFilesFilter | REG_DWORD | 在 [檔案中尋找] 對話框中,將篩選條件設定為其中一個通用篩選。 在未標示為通用的篩選條件之前,一般篩選會列在篩選清單中。 |
CommonOpenFilesFilter | REG_DWORD | 在 [開啟檔案] 對話框中,將篩選條件設定為其中一個通用篩選。 在未標示為通用的篩選條件之前,一般篩選會列在篩選清單中。 |
FindInFilesFilter | REG_DWORD | 列出 [在檔案中尋找] 對話框中的一般篩選條件之後的篩選條件。 |
NotOpenFileFilter | REG_DWORD | 表示 [開啟檔案] 對話框中未使用篩選條件。 |
NotAddExistingItemFilter | REG_DWORD | 表示篩選不會用於 [ 加入現有專案 ] 對話框中。 |
SortPriority | REG_DWORD | 設定 SortPriority 以控管篩選顯示的順序。 較大的 SortPriority 值會顯示在篩選清單中。 |
目錄結構
只要位置是透過集成開發環境 (IDE) 註冊,VSPackage 就可以將範本檔案和資料夾放在本機或遠端磁碟上。 不過,為了方便組織,建議您在產品的安裝路徑下使用下列目錄結構。
\範本
\Projects (包含項目範本)
\Applications
\元件
\ ...
\ProjectItems (包含項目專案)
\類
\形式
\網頁
\HelperFiles (包含多檔案項目專案中所使用的檔案)
\WizardFiles