Sdílet prostřednictvím


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í

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