Metoda IVsUserSettings.ExportSettings (String, IVsSettingsWriter)
Uloží VSPackage konfiguraci pomocí Visual Studio mechanismus nastavení při exportu možnost Nastavení importu a exportu funkce, které jsou k dispozici v rozhraní IDE Nástroje výběru nabídky uživatelem.
Obor názvů: Microsoft.VisualStudio.Shell.Interop
Sestavení: Microsoft.VisualStudio.Shell.Interop.8.0 (v Microsoft.VisualStudio.Shell.Interop.8.0.dll)
Syntaxe
int ExportSettings(
string pszCategoryGUID,
IVsSettingsWriter pSettings
)
int ExportSettings(
String^ pszCategoryGUID,
IVsSettingsWriter^ pSettings
)
abstract ExportSettings :
pszCategoryGUID:string *
pSettings:IVsSettingsWriter -> int
Function ExportSettings (
pszCategoryGUID As String,
pSettings As IVsSettingsWriter
) As Integer
Parametry
pszCategoryGUID
Type: System.String[v] Identifikátor GUID identifikace skupiny nastavení chcete exportovat. Toto je identifikační GUID pro vlastní nastavení bod. Další informace o vlastním nastavení body najdete v části registrace podpora stálost nastavení
pSettings
Type: Microsoft.VisualStudio.Shell.Interop.IVsSettingsWriter[v] IVsSettingsWriter Rozhraní poskytované prostředím na VSPackage poskytující přístup k zápisu do Visual Studio souboru s nastavením.
Návratová hodnota
Type: System.Int32
Pokud je metoda úspěšná, vrátí S_OK. Pokud selže, vrátí kód chyby.
Poznámky
Jeden VSPackage může podporovat více než jeden bod nastavení vlastní (kategorie nastavení).
Proto implementace ExportSettings musí zkontrolovat kategorie GUID předaný a zvolte správný mechanismus pro ukládání na stav zadaný bodem konkrétní vlastní nastavení.
V následujícím příkladu ExportSettings volá jinou implementaci pro zachování stav panelu příkaz na rozdíl od zachování stavu vazbu klíče.
Kromě dat uložil provádění ExportSettings, rozhraní API nastavení také automaticky uloží verzi Visual Studio používá export informací o konfiguraci.
Příklady
V tomto příkladu provádění ExportSettings zvolí mezi dvě různé metody exportu v závislosti na pszCategoryGUID argument.
STDMETHOD(ExportSettings)(WCHAR *pszCategoryGUID, IVsSettingsWriter *pSettings)
{
CLSID clsidCategory;
HRESULT hr;
hr = CLSIDFromString(pszCategoryGUID, &clsidCategory);
IfFailGo(hr);
//Delegate to the right internal implementation based on the requested category
if (GUID_Profiles_CommandBars == clsidCategory) {
hr = ExportSettings_CommandBars(pSettings);
}else if (GUID_Profiles_KeyBindings == clsidCategory) {
hr = ExportSettings_KeyBindings(pSettings);
}else{
hr = E_UNEXPECTED;
}
Error:
return hr;
};
HRESULT ExportSettings_CommandBars(IVsSettingsWriter *pSettings)
{
if (!pSettings)
return E_INVALIDARG;
hr = pSettings->WriteSettingString(c_szFirstSettingName, L"Value1");
IfFailGo(hr);
int cRandomTrash = 12345;
BYTE *pRandomTrash = (BYTE *)VSAlloc(cRandomTrash);
if (pRandomTrash){
hr = pSettings->WriteSettingBytes(c_szRandomTrashBytes, pRandomTrash, cRandomTrash);
IfFailGo(hr);
hr = pSettings->WriteSettingLong(c_szRandomTrashLength, cRandomTrash);
IfFailGo(hr);
}
Error:
return hr;
};
HRESULT ExportSettings_KeyBindings(IVsSettingsWriter *pSettings)
{
if (!pSettings)
return E_INVALIDARG;
hr = pSettings->WriteSettingString(c_szBreakPointWindow, L"Ctrl + Alt + B");
IfFailGo(hr);
Error:
return hr;
};
Viz také
ImportSettings
IVsUserSettingsQuery
Rozhraní IVsUserSettings
Obory názvů Microsoft.VisualStudio.Shell.Interop
Podpora pro uživatelská nastavení
Postupy: Export nastavení pomocí sestavení vzájemné spolupráce
Postupy: použití sestavení vzájemné spolupráce pro Import nastavení
Working with Settings
Zpět na začátek