Udostępnij za pośrednictwem


Interfejs IVsSettingsReader

 

Zapewnia dostęp do odczytu do informacji o konfiguracji przechowywane w Visual Studio pliku ustawień.

Przestrzeń nazw:   Microsoft.VisualStudio.Shell.Interop
Zestaw:  Microsoft.VisualStudio.Shell.Interop.8.0 (w Microsoft.VisualStudio.Shell.Interop.8.0.dll)

Składnia

[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

Nazwa Opis
System_CAPS_pubmethod ReadCategoryVersion(Int32, Int32, Int32, Int32)

Zwraca wartość obiektu wersji kategorii przechowywane w Visual Studio pliku ustawień.

System_CAPS_pubmethod ReadFileVersion(Int32, Int32, Int32, Int32)

Zwraca wartość obiektu wersji plików przechowywanych w Visual Studio pliku ustawień.

System_CAPS_pubmethod ReadSettingAttribute(String, String, String)

Zwraca wartość atrybutu obiektu przechowywane w Visual Studio pliku ustawień.

System_CAPS_pubmethod ReadSettingBoolean(String, Int32)

Zwraca wartość Boolean obiektu, przechowywane w Visual Studio pliku ustawień.

System_CAPS_pubmethod ReadSettingBytes(String, Byte, Int32, Int32)

Zwraca dane przechowywane w tablicy Visual Studio pliku ustawień.

System_CAPS_pubmethod ReadSettingLong(String, Int32)

Zwraca wartość Long obiektu przechowywane w Visual Studio pliku ustawień.

System_CAPS_pubmethod ReadSettingString(String, String)

Zwraca wartość obiektu ciągu przechowywane w Visual Studio pliku ustawień.

System_CAPS_pubmethod ReadSettingXml(String, Object)

Zwraca wartość obiektu XML przechowywane w Visual Studio pliku ustawień.

System_CAPS_pubmethod ReadSettingXmlAsString(String, String)

Zwraca wartość ustawienia XML jako obiekt ciągu przechowywane w Visual Studio pliku ustawień.

System_CAPS_pubmethod ReportError(String, UInt32)

Zgłasza stan błędu w pliku ustawień operacji odczytu.

Uwagi

Ten interfejs jest implementowany przez środowisko.

Uwagi dotyczące wywoływania

Wywołanie IVsSettingsReader interfejs, gdy pobieranie pakietu VSPackage przechowywane informacje o konfiguracji z Visual Studio pliku ustawień.

Uwagi dotyczące implementacji

Tylko pakiety VSPackages, które zostały zarejestrowane ich obsługę Visual Studio stosowania ustawień wprowadzić mechanizm IVsSettingsReader interfejsu. Aby uzyskać więcej informacji o rejestrowaniu pakietu VSPackage, który obsługuje Visual Studio mechanizmu ustawień, zobacz pomocy technicznej dla ustawień użytkownika.

Gdy została wybrana operacja importowania ustawień z importowania i eksportowania ustawień funkcji dostępnych w IDE narzędzia przekazuje środowiska menu IVsSettingsReader interfejsu pakietu VSPackage ustawienia importowania metody, która korzysta z interfejsu do odczytu danych konfiguracji.Visual Studio SDK Obsługuje kilka metod importowania:

  • Dla zestawu międzyoperacyjnego opartych na pakiety VSPackages, metodę importowania jest implementacją VSPackage IVsUserSettings interfejsu ImportSettings metody.

  • Dla większości Framework pakietu zarządzania opartych na pakiety VSPackages, metodę importowania jest implementacją VSPackage IProfileManager interfejsu LoadSettingsFromXml metody.

  • Dla zarządzanych Framework pakietu opartych na implementowanie pakiety VSPackages DialogPage Ten interfejs jest interfejs, metodę importowania LoadSettingsFromXml metody.

Importowanie ustawień więcej informacji, zobacz porady: Użyj zestawy międzyoperacyjne do ustawienia importowania lub Importowanie ustawień.

Przykłady

W poniższym przykładzie jest implementacją ImportSettings, która odczytuje wartości trzy ustawienia. Metoda ta wykorzystuje niektóre pobranej wartości do określenia, jak pobrać inne wartości: rozmiar buforu wejściowego pTrashBytes jest określana przez pobieranie wartości lTrashLength pobrane wcześniej.

[!UWAGA]

Najlepszym rozwiązaniem przechowuje buforów lub ciągu jest zapisanie rozmiar buforu przechowywanych lub ciągu, a także sam obiekt. Informacje o rozmiarze należy zawsze używać podczas pobierania zapisane buforu ciągu w celu uniknięcia przepełnienia buforu.

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;
};

Zobacz też

ImportSettings
IVsSettingsWriter
Przestrzeń nazw Microsoft.VisualStudio.Shell.Interop
Obsługa ustawień użytkownika
Porady: umożliwia importowanie ustawień zestawy międzyoperacyjne
Importowanie ustawień
Working with Settings

Powrót do początku