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 | |
---|---|---|
![]() |
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