Sdílet prostřednictvím


Rozhraní IVsSettingsReader

 

Poskytuje přístup pro čtení informací konfigurace, které jsou uloženy v Visual Studio souboru s nastavením.

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

Syntaxe

[GuidAttribute("38C38501-1428-4ABB-8B27-2F0E1E6DD757")]
[InterfaceTypeAttribute(1)]
public interface IVsSettingsReader
[GuidAttribute("38C38501-1428-4ABB-8B27-2F0E1E6DD757")]
[InterfaceTypeAttribute(1)]
public interface class IVsSettingsReader
[<GuidAttribute("38C38501-1428-4ABB-8B27-2F0E1E6DD757")>]
[<InterfaceTypeAttribute(1)>]
type IVsSettingsReader = interface end
<GuidAttribute("38C38501-1428-4ABB-8B27-2F0E1E6DD757")>
<InterfaceTypeAttribute(1)>
Public Interface IVsSettingsReader

Metody

Název Popis
System_CAPS_pubmethod ReadCategoryVersion(Int32, Int32, Int32, Int32)

Vrátí hodnotu uložené v objektu verze kategorie Visual Studio souboru s nastavením.

System_CAPS_pubmethod ReadFileVersion(Int32, Int32, Int32, Int32)

Vrátí hodnotu uložené v objektu verze souboru Visual Studio souboru s nastavením.

System_CAPS_pubmethod ReadSettingAttribute(String, String, String)

Vrátí hodnotu atributu objekt uložený v Visual Studio souboru s nastavením.

System_CAPS_pubmethod ReadSettingBoolean(String, Int32)

Vrátí hodnotu Boolean objekt uložený v Visual Studio souboru s nastavením.

System_CAPS_pubmethod ReadSettingBytes(String, Byte, Int32, Int32)

Vrátí hodnoty uložené v pole Visual Studio souboru s nastavením.

System_CAPS_pubmethod ReadSettingLong(String, Int32)

Vrátí hodnotu Long objekt uložený v Visual Studio souboru s nastavením.

System_CAPS_pubmethod ReadSettingString(String, String)

Vrátí hodnotu objektu řetězce, který je uložen v Visual Studio souboru s nastavením.

System_CAPS_pubmethod ReadSettingXml(String, Object)

Vrátí hodnotu objektu XML, který je uložen v Visual Studio souboru s nastavením.

System_CAPS_pubmethod ReadSettingXmlAsString(String, String)

Vrátí hodnotu nastavení XML objektu řetězce uložen v Visual Studio souboru s nastavením.

System_CAPS_pubmethod ReportError(String, UInt32)

Hlásí, že operace čtení souboru nastavení chybový stav.

Poznámky

Toto rozhraní je implementováno prostředí.

Poznámky pro volající

Volání IVsSettingsReader rozhraní při načítání VSPackage uložené informace o konfiguraci z Visual Studio souboru s nastavením.

Poznámky pro implementátory

Pouze VSPackage, která jste zaregistrovali jejich podporu Visual Studio použití nastavení mechanismus provést IVsSettingsReader rozhraní. Další informace o registraci VSPackage, který podporuje Visual Studio mechanismus nastavení najdete v části podporu pro uživatelská nastavení.

Pokud byl vybrán operace importu nastavení z Nastavení importu a exportu funkce, které jsou k dispozici v rozhraní IDE Nástroje nabídky, předá prostředí IVsSettingsReader rozhraní VSPackage nastavení importu metodě, která používá rozhraní přečíst konfigurační data.Visual Studio SDK Podporuje několik metod importu:

  • Sestavení zprostředkovatele komunikace na základě VSPackage, je metoda import sady VSPackage provádění IVsUserSettings rozhraní ImportSettings Metoda.

  • Pro většinu Managed balíček Framework založené VSPackage, metoda importu je implementace sady VSPackage IProfileManager rozhraní LoadSettingsFromXml Metoda.

  • Pro spravované Framework balíček na základě implementace VSPackage DialogPage Toto rozhraní je rozhraní, metoda import LoadSettingsFromXml Metoda.

Import nastavení Další informace naleznete v tématu Postupy: použití zprostředkovatele komunikace s objekty sestavení, které chcete importovat nastavení nebo Import nastavení.

Příklady

V následujícím příkladu je implementací ImportSettings, který čte v tři nastavení hodnoty. Tato metoda některé načtené hodnoty používá k určení, jak načíst jiná hodnota: velikost vstupní vyrovnávací paměti pTrashBytes je určen načtení hodnoty lTrashLength načetli dříve.

[!POZNÁMKA]

Osvědčeným postupem při ukládání vyrovnávací paměti nebo řetězec je uložit velikost vyrovnávací paměti uložené nebo řetězec, a také s samotného objektu. Informace o této velikosti by měla vždy použít při načítání uložené vyrovnávací paměť řetězce aby se zabránilo přetečení vyrovnávací paměti.

HRESULT ImportSettings_CommandBars(IVsSettingsReader *pSettings, UserSettingsFlags flags, BOOL *pfRestartRequired)
{
    if (!pSettings)
        return E_INVALIDARG;

    if (pfRestartRequired)
        {
            *pfRestartRequired = FALSE; //Nobody should require a restart!!
        }

    CComBSTR bstrFirstSettingName;
    long lTrashLength = 0;
    BYTE *pTrashBytes = NULL;

    //Determines whether we can treat import as an additive operation, or a reset all settings operation
    BOOL fResetCompletely = FALSE; 

    if (flags & USF_ResetOnImport)
        fResetCompletely = TRUE;

    hr = pSettings->ReadSettingString(c_szFirstSettingName, &bstrFirstSettingName);
    IfFailGo(hr);

    hr = pSettings->ReadSettingLong(c_szRandomTrashLength, &lTrashLength);
    IfFailGo(hr);

    if (lTrashLength > 0)
        {
            pTrashBytes = (BYTE*)VSAlloc(lTrashLength);
            IfNullMemGo(pTrashBytes);

            long lDataRead = 0;

            hr = pSettings->ReadSettingBytes(c_szRandomTrashLength, pTrashBytes, &lDataRead, lTrashLength);
            IfFailGo(hr);

            if (lDataRead != lTrashLength)
    {
        hr = E_UNEXPECTED;
        goto Error;
    }
        }

    //Note: before returning these settings should immediately be applied to your personal
    //            settings store, whether in the registry or the file system.
    //This write-through cache methodology is essential to allow us to work in multi-instance IDE scenarios.
    hr = UpdateState_CommandBar(bstrFirstSettingName,lTrashLength,pTrashBytes,lDataRead);

 Error:
    return hr;
};

Viz také

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

Zpět na začátek