使用者設定的支援
如需 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 實作,藉由合併取得的索引鍵名稱 categoryName 和objectName 引數的ProvideProfileAttribute建構函式到categoryName_objectName 。索引鍵可以是空的或它可以包含在附屬 DLL 中的當地語系化字串的參考識別碼。 這個值取自 objectNameResourceID 引數ProvideProfileAttribute建構函式。 |
封裝 | REG_SZ | GUID | VSPackage 可實作自訂設定點的 GUID。 實作根據 MPF 使用ProvideProfileAttribute類別,請使用建構函式的 objectType 引數包含 VSPackage類型和反映來取得這個值。 |
分類 | REG_SZ | GUID | 識別 [設定] 類別的 GUID。 Interop 組件為基礎的實作,這個值可以是任意選擇的 GUID,其Visual StudioIDE 會將傳遞至ExportSettings和ImportSettings方法。 這兩種方法的所有實作應該先都確認其 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會產生自訂設定的點,它會是做為類別名稱相同。 |