Sdílet prostřednictvím


Rozhraní IVsUserSettingsQuery

 

Umožňuje VSPackage k označení, pokud jeho nastavení je třeba uložit, nebo ne.

Obor názvů:   Microsoft.VisualStudio.Shell.Interop
Sestavení:  Microsoft.VisualStudio.Shell.Interop.8.0 (v Microsoft.VisualStudio.Shell.Interop.8.0.dll)

Syntaxe

[GuidAttribute("334E1F15-7D97-4231-81B0-998E4A960E69")]
[InterfaceTypeAttribute(1)]
public interface IVsUserSettingsQuery
[GuidAttribute("334E1F15-7D97-4231-81B0-998E4A960E69")]
[InterfaceTypeAttribute(1)]
public interface class IVsUserSettingsQuery
[<GuidAttribute("334E1F15-7D97-4231-81B0-998E4A960E69")>]
[<InterfaceTypeAttribute(1)>]
type IVsUserSettingsQuery = interface end
<GuidAttribute("334E1F15-7D97-4231-81B0-998E4A960E69")>
<InterfaceTypeAttribute(1)>
Public Interface IVsUserSettingsQuery

Metody

Název Popis
System_CAPS_pubmethod NeedExport(String, Int32)

Určuje, zda zadaná kategorie vyžaduje export jeho nastavení.

Poznámky

Poznámky pro implementátory

Implementace Pokud VSPackage potřebuje jeho nastavení ukládají do ovládacího prvku Visual Studio souboru s nastavením.

Poznámky pro volající

Toto rozhraní by měla být implementována pouze v případě VSPackage je třeba řídit úspory jeho nastavení.

Pro instanci VSPackage mohou umožnit uživatelům změnit nastavení pro aktuální relaci, ale jenom aktualizace uloží informace po kliknutí Uložit tlačítko.

Pokud VSPackage neimplementuje rozhraní, je vždy exportován stavu.

Jeden VSPackage může podporovat více než jeden bod nastavení vlastní (kategorie nastavení). Proto implementace NeedExport musí identifikace zkontrolujte zadaná nastavení bodu vlastní na identifikátor GUID nebo nastavení argumentu kategorie k určení, pokud je nutné uložit určitou skupinu nastavení.

Například v příkladu níže VSPackage vždy požadavky, že její stav příkazu panelu je uložená, ale pouze požadavky stavu vazbu klíče uložit, pokud byl nastaven příznak.

Příklady

STDMETHOD(NeedExport)(WCHAR* pszCategoryGUID, BOOL *pfNeedExport)
{
    if (!pfNeedExport)
        return E_INVALIDARG;

    CLSID clsidCategory;
    HRESULT hr= S_OK;

    hr = CLSIDFromString(pszCategoryGUID, &clsidCategory);
    IfFailGo(hr);
    if (GUID_Profiles_CommandBars == clsidCategory) {
        *pfNeedExport = TRUE; //Always export Command Bar Configuration
    }else if (GUID_Profiles_KeyBindings == clsidCategory) {
        *pfNeedExport = FALSE; //By Default don't export key bindings
        if (m_fMake_Permanent)
            *pfNeedExport = TRUE; //Export if user wants current configuration saved.
    }else{
        hr = E_UNEXPECTED;
    }
 Error:
    return hr;
}

Viz také

IVsUserSettings
Obory názvů Microsoft.VisualStudio.Shell.Interop
Podpora pro uživatelská nastavení
Postupy: použití sestavení vzájemné spolupráce pro Import nastavení
Working with Settings

Zpět na začátek