保存的設定
VSPackage 可能會定義一或多個設定類別,也就是保存在使用者選擇時的狀態變數群匯入/匯出設定 命令 工具功能表。 若要啟用此持續性,您可以使用 Api] 設定在Visual Studio SDK。
指自訂設定端點和 GUID 登錄項目會定義 VSPackage 的 [設定] 類別。 VSPackage 可支援多個設定類別,每個自訂設定點所定義。
設定 interop 組件為基礎的實作 (使用IVsUserSettings介面) 應該建立自訂設定端點,藉由編輯登錄,或使用登錄器指令碼 (.rgs 檔)。 如需詳細資訊,請參閱 Creating Registrar Scripts。
使用管理套件架構 (MPF) 的程式碼應該以附加方式建立自訂設定點ProvideProfileAttribute到 VSPackage 的自訂設定的每個點。
如果單一的 VSPackage 支援幾個自訂設定點、 個別的類別,由存取關聯式資料庫設定的每個自訂點及每個使用權係由唯一的執行個體的ProvideProfileAttribute類別。 因此,實作類別的設定可支援一個以上的 [設定] 類別。
自訂設定端點的登錄項目詳細資料
在下列位置的登錄項目中建立自訂設定點: HKLM\Software\Microsoft\VisualStudio\<Version>\UserSettings\<CSPName>,其中<CSPName> VSPackage 支援是自訂設定端點的名稱和 <Version> 版本的Visual Studio,例如 8.0。
注意事項 |
---|
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\ 的根路徑<Version> 可覆寫以替代根何時Visual Studio初始化整合式的開發環境 (IDE)。如需詳細資訊,請參閱 命令列參數 (Visual Studio SDK)。 |
登錄項目的結構會如下所示:
HKLM\Software\Microsoft\VisualStudio\<Version>\UserSettings\
<CSPName> = s ' # 12345'
封裝 = ' {XXXXXX XXXX XXXX XXXX XXXXXXXXX}'
類別 = ' {YYYYYY YYYY YYYY YYYY YYYYYYYYY}'
ResourcePackage = ' {ZZZZZZ ZZZZ ZZZZ ZZZZ ZZZZZZZZZ}'
AlternateParent = 類別名稱
名稱 |
型別 |
資料 |
描述 |
---|---|---|---|
(預設值) |
REG_SZ |
自訂設定點的名稱 |
機碼的名稱, <CSPName>,是未當地語系化的自訂設定端點的名稱。 結合 MPF 為基礎的實作,取得機碼名稱categoryName和objectName引數的ProvideProfileAttribute建構函式進入categoryName_objectName。 金鑰可以是空的或者也可以包含在附屬 DLL 中的當地語系化字串的參考 ID。 這個值取自objectNameResourceID引數為ProvideProfileAttribute建構函式。 |
封裝 |
REG_SZ |
GUID |
實作自訂的設定值點 VSPackage 的 GUID。 實作根據使用的 MPF ProvideProfileAttribute類別,請使用建構函式的objectType引數包含 VSPackage 的Type和反映來取得這個值。 |
分類 |
REG_SZ |
GUID |
用來識別 [設定] 類別的 GUID。 Interop 組件為基礎的實作,這個值可以是任意選擇的 GUID,其中Visual Studio IDE 會傳遞至ExportSettings和ImportSettings方法。 所有的這兩種方法的實作應該檢查其 GUID 引數。 以 MPF 為基礎的實作,此 GUID 藉由Type類別實作的Visual Studio設定的機制。 |
ResourcePackage |
REG_SZ |
GUID |
選擇項。 如果實作 VSPackage 未提供這些附屬 DLL 所包含的路徑進行當地語系化字串。 MPF 會使用反映來取得正確的資源 VSPackage,所以ProvideProfileAttribute類別並不會設定此引數。 |
AlternateParent |
REG_SZ |
在 [工具選項] 頁含有此自訂設定點下的資料夾名稱。 |
選擇項。 您必須設定此值,只有設定實作支援工具選項資料頁中的保存性機制, Visual Studio SDK而不是在自動化模型中儲存狀態的機制。 如需詳細資訊,請參閱 註冊自訂 [選項] 頁。 在這些情況下,在 AlternateParent 機碼值是topic一節的topic.sub-topic用來識別特定字串工具選項頁面。 例如, 工具選項頁面"TextEditor.Basic" AlternateParent 的值會是 "TextEditor"。 當ProvideProfileAttribute會產生自訂的設定為止,這是與類別名稱相同。 |