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 | |
---|---|---|
ReadCategoryVersion(Int32, Int32, Int32, Int32) | Vrátí hodnotu uložené v objektu verze kategorie Visual Studio souboru s nastavením. |
|
ReadFileVersion(Int32, Int32, Int32, Int32) | Vrátí hodnotu uložené v objektu verze souboru Visual Studio souboru s nastavením. |
|
ReadSettingAttribute(String, String, String) | Vrátí hodnotu atributu objekt uložený v Visual Studio souboru s nastavením. |
|
ReadSettingBoolean(String, Int32) | Vrátí hodnotu Boolean objekt uložený v Visual Studio souboru s nastavením. |
|
ReadSettingBytes(String, Byte, Int32, Int32) | Vrátí hodnoty uložené v pole Visual Studio souboru s nastavením. |
|
ReadSettingLong(String, Int32) | Vrátí hodnotu Long objekt uložený v Visual Studio souboru s nastavením. |
|
ReadSettingString(String, String) | Vrátí hodnotu objektu řetězce, který je uložen v Visual Studio souboru s nastavením. |
|
ReadSettingXml(String, Object) | Vrátí hodnotu objektu XML, který je uložen v Visual Studio souboru s nastavením. |
|
ReadSettingXmlAsString(String, String) | Vrátí hodnotu nastavení XML objektu řetězce uložen v Visual Studio souboru s nastavením. |
|
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