註冊自訂 [選項] 頁
對於工具選項能讓使用者和支援自動化的頁面上,必須以適當地註冊Visual Studio整合式的開發環境 (IDE)。
工具選項受管理的套件架構為基礎的網頁會藉由套用的執行個體登錄ProvideOptionPageAttribute來提供頁面的 VSPackage。 自動化支援表示藉由設定SupportsAutomation屬性,以true。
工具選項頁註冊
整合自訂的工具選項頁面與Visual Studio需要登錄項目中的下列位置建立: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\<Version>\ToolsOptionsPages,其中 <Version> 版本的Visual Studio、 例如 8.0。
項目都與分類的主索引鍵 (<PageCategory>) 的工具選項頁面和子機碼包含在網頁的子類別的名稱 (<PageSubCategory>)。
例如, 工具選項字串,用來識別網頁 TextEditor.Basic,具有登錄機碼<PageCategory>= textEditor 子機碼的<PageSubCategory>= 基本。
下面,是結構的登錄項目:
HKLM\Software\Microsoft\VisualStudio\<Version>\ToolsOptionsPages\
<PageCategory> = '#12345'
封裝 = ' {XXXXXX XXXX XXXX XXXX XXXXXXXXX}'
ResourcePackage = ' {YYYYYY YYYY YYYY YYYY YYYYYYYYY}'
HKLM\Software\Microsoft\VisualStudio\<Version>\ToolsOptionsPages\<PageCategory>
<PageSubCategory>> = '#67890'
網頁 = ' {ZZZZZZ ZZZZ ZZZZ ZZZZ ZZZZZZZZZ}'
封裝 = ' {AAAAAA AAAA AAAA AAAA AAAAAAAAA}'
ResourcePackage = ' {BBBBBB BBBB BBBB BBBB BBBBBBBBB}'
NoShowAllView = 0/1
下表列出的值低於 HKLM\Software\Microsoft\VisualStudio\<Version>\ToolsOptionsPages\<PageCategory>。
名稱 |
型別 |
資料 |
描述 |
||
---|---|---|---|---|---|
(預設值) |
REG_SZ |
自訂標準的類別名稱, 工具選項頁面 |
機碼的名稱, <PageCategory>,是標準的非當地語系化的分類名稱工具選項頁面。
受管理的封裝架構中,為基礎的實作<PageCategory> 您可以從取得categoryName引數,以ProvideOptionPageAttribute建構函式。 金鑰可以是空的或者也可以包含參考 ID 為實作的附屬 DLL 中當地語系化的字串。 受管理的套件架構為基礎的實作,這個值取自categoryResourceID引數,以ProvideOptionPageAttribute建構函式。 |
||
封裝 |
REG_SZ |
GUID |
GUID 的實作自訂的 VSPackage 工具選項頁面。 受管理的套件架構使用根據實作ProvideOptionPageAttribute使用反映來取得這個值。 |
||
ResourcePackage |
REG_SZ |
GUID |
選擇項。 如果實作 VSPackage 未提供這些附屬 DLL 包含當地語系化字串。 受管理的封裝架構會使用反映來取得正確的資源套件中,所以ProvideOptionPageAttribute並不會設定此引數。 |
下表列出的值低於 HKLM\Software\Microsoft\VisualStudio\<Version>\ToolsOptionsPages\<PageCategory>\<PageSubCategory>。
名稱 |
型別 |
資料 |
描述 |
||
---|---|---|---|---|---|
(預設值) |
REG_SZ |
自訂標準子類別名稱工具選項頁面 |
機碼的名稱, <PageSubCategory>,是正式非當地語系化名稱工具選項頁面子類別。
受管理的封裝架構中,為基礎的實作<PageSubegory> 您可以從取得pageName引數,以ProvideOptionPageAttribute建構函式。 金鑰可以是空的或者也可以包含在附屬 DLL 的實作中的當地語系化字串的參考 ID。 受管理的套件架構為基礎的實作,這個值取自pageNameResourceID引數,以ProvideOptionPageAttribute建構函式。 |
||
頁面 |
REG_SZ |
GUID |
實作自訂的物件 GUID 工具選項頁面。 實作根據受管理的套件架構使用ProvideOptionPageAttribute使用建構函式的pageType引數包含 VSPackage 的Type ,並反映來取得這個值。 |
||
封裝 |
REG_SZ |
GUID |
受管理的套件架構使用根據實作ProvideOptionPageAttribute使用反映來取得這個值。 |
||
ResourcePackage |
REG_SZ |
GUID |
選擇項。 如果實作 VSPackage 未提供這些附屬 DLL 包含當地語系化字串。 受管理的封裝架構會使用反映來取得正確的資源 DLL,所以ProvideOptionPageAttribute並不會設定此引數。 |
||
NoShowAllView |
REG_DWORD |
0 或 1 |
選擇項。 指出是否指定工具選項 的複雜 (預設值) 檢視中顯示網頁的 工具選項的網頁。 支援程式設計環境,例如 Visual Basic,具有特殊工具選項彙總的一般設定值,來為使用者提供的選項特製化的簡化檢視的網頁。 如果呼叫完成項目是不是零, 工具選項頁面沒有出現在複雜的檢視。 如需詳細資訊,請參閱選項對話方塊 (Visual Studio)。 受管理的套件架構為基礎的實作可以設定此值,藉由設定NoShowAllView屬性,以true在ProvideOptionPageAttribute建構函式。 |
VSPackage 或單一 interop 組件為基礎的物件可能會實作一個以上的工具選項頁面。 每一個實作需要有新的項目,在 HKLM\Software\Microsoft\VisualStudio\<Version>\ToolsOptionsPages。
與受管理套件架構執行個體化物件提供工具選項 ] 頁面上,每個網頁都應該有它自己的實作物件,獨立於 VSPackage 的實作Package。
Automation 支援
如果 automation 支援用來實作工具選項 ] 頁面上,它必須登錄本身為自動化提供者。 屬性管理、 使用自動化,並使用它的保存性機制來儲存工具選項頁面狀態,它必須登錄本身做為AutomationProperty提供者。
暫存器為自動化提供者 (僅適用於 Interop 組件為基礎的工具選項頁) VSPackage
工具選項 interop 組件為基礎的網頁會實作為 VSPackage 的實作類別的一部分。
如此一來,如果工具選項頁面是為了支援自動化,interop 的 assembly–based VSPackage 必須先註冊為自動化提供者。
注意事項 |
---|
獨立實作的 VSPackage 物件所提供的受管理的封裝架構中的自動化支援。如果該物件支援自動化,這透過註冊SupportsAutomation屬性的ProvideOptionPageAttribute建構函式。 |
註冊 VSPackage,因為自動化提供者是 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\ 的表單的項目<Version>\Packages\<PackageGUID>\Automation,其中 <Version> 版本的Visual Studio (例如,8.0) 和 <PackageGUID> VSPackage 實作 automation 物件的 guid。
注意事項 |
---|
根路徑的 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\<Version> 可覆寫其他的根初始化 Visual Studio 命令介面時。如需詳細資訊,請參閱 命令列參數 (Visual Studio SDK)。 |
登錄項目的結構是:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\<Version>\Packages\<PackageGUID>\Automation
<AutomationObjectName>
名稱 |
型別 |
資料 |
描述 |
---|---|---|---|
Automation |
REG_SZ |
未定義 |
未定義。 此機碼存在,表示 VSPackage 參照到的 <PackageGUID> 支援自動化。 此欄位可用來儲存文件。 ProvideAutomationObjectAttribute會自動建立此機碼來管理的套件架構為基礎的應用程式。 |
<AutomationObjectName> |
REG_SZ |
所提供的 automation 物件的正式名稱 |
索引鍵的名稱才適宜。 它使用於自動化作業。 此欄位可用來儲存文件。 受管理的套件架構為基礎的實作,此機碼名稱由name引數,以ProvideAutomationObjectAttribute建構函式。 如果ProvideAutomationObjectAttribute建構函式具有有效的字串,提供給其Description屬性,這個值會插入在這裡。 |
註冊為支援自動化的工具選項頁
同時管理套件 Framework– 和 interop assembly–based 實作工具選項 頁面必須註冊才能自動化存取 工具選項頁面。 這包括自動化屬性保存性機制,以逐頁瀏覽存取EnvDTE。 這是不受影響的 VSPackage 本身為自動化服務提供者註冊。
如同工具選項頁註冊上面所提的項目都有與分類的主索引鍵 (<PageCategory>) 的工具選項頁面和子機碼包含在網頁的子類別的名稱 (<PageSubcategory>)。
如果您使用受管理的套件架構時,使用ProvideOptionPageAttribute註冊類別提供工具選項頁面,然後設定SupportsAutomation屬性,以true ,表示資料頁支援自動化。
在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\ 中找到的登錄項目<Version>\AutomationProperties,其中 <Version> 版本的Visual Studio、 例如 8.0。
注意事項 |
---|
根路徑的 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\<Version> 可覆寫使用替代的根目錄時初始化 Visual Studio 命令介面時,如需詳細資訊,請參閱命令列參數 (Visual Studio SDK)。 |
下面,是結構的登錄項目:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\<Version> \AutomationProperties
<PageCategory> = ‘#456’
ResourcePackage = ' {XXXXXX XXXX XXXX XXXX XXXXXXXXX}'
<PageSubCategory> = ‘#789’
封裝 = ' {YYYYYY YYYY YYYY YYYY YYYYYYYYY}'
Name = '<PageCategory> .<PageSubcategory>'
'ProfileSave' = 1/0
下表列出的值低於 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\<Version>\AutomationProperties\<PageCategory>。
名稱 |
型別 |
資料 |
描述 |
||
---|---|---|---|---|---|
(預設值) |
REG_SZ |
自訂標準的類別名稱, 工具選項頁面 |
機碼的名稱, <PageCategory>,是正式非當地語系化名稱工具選項網頁類別]。
金鑰可以是空的或者也可以包含參考 ID 為實作的附屬 DLL 中當地語系化的字串。 受管理的封裝架構中,為基礎的實作<PageCategory> 您可以從取得categoryName引數,以ProvideOptionPageAttribute建構函式。 |
||
ResourcePackage |
REG_SZ |
GUID |
選擇項。 如果實作 VSPackage 未提供這些附屬 DLL 包含當地語系化字串。 受管理的封裝架構會使用反映來取得正確的資源 VSPackage,所以ProvideOptionPageAttribute並不會設定此引數。 |
下表列出的值低於 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\<Version>\AutomationProperties\<PageCategory>\<PageSubCategory>。
名稱 |
型別 |
資料 |
描述 |
||
---|---|---|---|---|---|
(預設值) |
REG_SZ |
自訂子類別名稱工具選項頁面 |
機碼的名稱, <PageSubCategory>,是正式非當地語系化名稱工具選項頁面子類別。
金鑰可以是空的或者也可以包含參考 ID 為實作的附屬 DLL 中當地語系化的字串。 受管理的封裝架構中,為基礎的實作<PageSubCategory>取自pageName引數,以ProvideOptionPageAttribute建構函式。 |
||
封裝 |
REG_SZ |
GUID |
GUID 的實作自訂的 VSPackage 工具選項頁面。 受管理的套件架構使用根據實作ProvideOptionPageAttribute使用反映來取得這個值。 |
||
名稱 |
REG_SZ |
值為目前工具選項頁面 properties 集合 |
<PageCategory>.<PageSubCategory>字串,用來指稱工具選項頁面。 如需詳細資訊,請參閱 使用 [選項] 頁。 受管理的套件架構為基礎的實作,如從引數來取得名稱ProvideOptionPageAttribute建構函式的形式和categoryName.pageName。 |
||
ProfileSave |
DWORD |
1/0 |
選擇項。 這個值會指示是否工具選項所儲存的頁面設定Visual Studio設定機制,當使用者按一下匯入/匯出設定命令工具功能表。 如果機碼是否存在,且其值為 1,然後在工具選項網頁要求設定支援。 如果受管理的套件架構為基礎的實作會設定這個值ProvideOptionPageAttribute提供給建構函式SupportsProfiles屬性設定為 [ true。 |