共用方式為


使用者設定的支援

 

如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件

VSPackage 可能會定義一或多個設定分類,也就是保存在使用者選擇時的狀態變數群組匯入/匯出設定命令工具功能表。 若要啟用此持續性,您可以使用的設定 Api 中Visual Studio SDK。

登錄項目,稱為自訂設定點和 GUID 定義類別的 VSPackage 設定。 VSPackage 可以支援多個設定分類,每個定義的自訂設定的點。

  • 設定 interop 組件為基礎的實作 (使用IVsUserSettings介面) 應該編輯登錄,或使用登錄器指令碼 (.rgs 檔) 建立自訂設定的點。 如需詳細資訊,請參閱 Creating Registrar Scripts

  • 使用管理套件架構 (MPF) 的程式碼應該建立自訂設定的點,藉由附加ProvideProfileAttribute到 VSPackage 的自訂設定的每個點。

    如果單一 VSPackage 支援數個自訂設定的點,每個自訂設定的點由個別的類別,實作每個已註冊的唯一執行個體的ProvideProfileAttribute類別。 因此,實作類別的設定可支援多個類別的設定。

自訂設定點登錄項目詳細資料

在下列位置的登錄項目建立自訂設定點︰ HKLM\Software\Microsoft\VisualStudio\<>>\UserSettings\<CSPName>,其中<CSPName>VSPackage 支援是自訂設定端點的名稱和* <> > *的版本Visual Studio,例如 8.0。

注意

Hkey_local_machine\software\microsoft\visualstudio \ 的根路徑\* <> </> > *可覆寫,以替代根時Visual Studio整合式的開發環境 (IDE) 會初始化。 如需詳細資訊,請參閱命令列參數

登錄項目的結構如下所示︰

HKLM\Software\Microsoft\VisualStudio\<>>\UserSettings\

<CSPName> = '#12345' s

封裝 = ' {XXXXXX XXXX XXXX XXXX XXXXXXXXX}'

類別 = ' {釋出 YYYYYY YYYY YYYY YYYY YYYYYYYYY}'

ResourcePackage = ' {ZZZZZZ ZZZZ ZZZZ ZZZZ ZZZZZZZZZ}'

AlternateParent = 類別名稱

名稱 類型 資料 描述
(預設值) REG_SZ 自訂設定點的名稱 索引鍵的名稱, <CSPName>,為自訂設定點的未當地語系化的名稱。

根據 MPF 實作,藉由合併取得的索引鍵名稱categoryNameobjectName引數的ProvideProfileAttribute建構函式到categoryName_objectName

索引鍵可以是空的或它可以包含在附屬 DLL 中的當地語系化字串的參考識別碼。 這個值取自objectNameResourceID引數ProvideProfileAttribute建構函式。
封裝 REG_SZ GUID VSPackage 可實作自訂設定點的 GUID。

實作根據 MPF 使用ProvideProfileAttribute類別,請使用建構函式的objectType引數包含 VSPackage類型和反映來取得這個值。
分類 REG_SZ GUID 識別 [設定] 類別的 GUID。

Interop 組件為基礎的實作,這個值可以是任意選擇的 GUID,其Visual StudioIDE 會將傳遞至ExportSettingsImportSettings方法。 這兩種方法的所有實作應該先都確認其 GUID 引數。

如需根據 MPF 實作,此 GUID 藉由取得類型類別實作的Visual Studio設定機制。
ResourcePackage REG_SZ GUID 選擇項。

如果實作 VSPackage 未提供這些附屬 DLL 包含路徑的當地語系化字串。

MPF 會使用反映來取得正確的資源 VSPackage,所以ProvideProfileAttribute類別並不會設定這個引數。
AlternateParent REG_SZ 在 [工具選項] 頁面包含此自訂設定點資料夾的名稱。 選擇項。

您必須將此值,只有支援的設定實作工具選項使用持續性機制中的頁面Visual Studio SDK而不是在儲存狀態的自動化模型的機制。

在這些情況下,AlternateParent 機碼中的值是topic區段topic.sub-topic用來識別特定字串ToolsOptions頁面。 例如,對於ToolsOptions頁面"TextEditor.Basic"AlternateParent 的值會是"TextEditor"

ProvideProfileAttribute會產生自訂設定的點,它會是做為類別名稱相同。