IVsSettingsReader Arabirimi
Depolanan yapılandırma bilgilerini okuma erişimi sağlar Visual Studio ayarları dosyası.
Ad alanı: Microsoft.VisualStudio.Shell.Interop
Derleme: Microsoft.VisualStudio.Shell.Interop.8.0 (Microsoft.VisualStudio.Shell.Interop.8.0.dll içinde)
Sözdizimi
[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
Yöntemler
Adı | Açıklama | |
---|---|---|
ReadCategoryVersion(Int32, Int32, Int32, Int32) | Depolanmış bir kategori sürüm nesnenin değerini döndürür Visual Studio ayarları dosyası. |
|
ReadFileVersion(Int32, Int32, Int32, Int32) | Depolanan dosya sürümü nesnenin değerini döndürür Visual Studio ayarları dosyası. |
|
ReadSettingAttribute(String, String, String) | Depolanmış bir nesne değerini döndürür Visual Studio ayarları dosyası. |
|
ReadSettingBoolean(String, Int32) | Depolanmış bir Boole nesnesinin değeri döndürür Visual Studio ayarları dosyası. |
|
ReadSettingBytes(String, Byte, Int32, Int32) | Depolanan bir dizi değerlerini döndürür Visual Studio ayarları dosyası. |
|
ReadSettingLong(String, Int32) | Depolanan uzun bir nesnenin değerini döndürür Visual Studio ayarları dosyası. |
|
ReadSettingString(String, String) | Depolanmış bir dize nesnesi değerini döndürür Visual Studio ayarları dosyası. |
|
ReadSettingXml(String, Object) | İçinde depolanan bir XML nesne değerini döndürür Visual Studio ayarları dosyası. |
|
ReadSettingXmlAsString(String, String) | Depolanmış bir dize nesnesi gibi bir XML ayarın değerini döndürür Visual Studio ayarları dosyası. |
|
ReportError(String, UInt32) | Okuma işlemi ayarlar dosyası hata durumunu raporlar. |
Açıklamalar
Bu arabirim, ortamı tarafından uygulanır.
Arayanlar için Notlar
Çağrı IVsSettingsReader VSPackage'nın yapılandırma bilgisini depolanan olduğunda arabirim Visual Studio ayarları dosyası.
Uygulayanlar için Notlar
Destek için kayıtlı VSPackages Visual Studio mekanizması yaptığınız ayarları kullanımını IVsSettingsReader arabirimi. Destekleyen bir VSPackage kaydetme hakkında daha fazla bilgi için Visual Studio ayarları mekanizması bkz kullanıcı ayarları için destek.
Zaman ayarları içeri aktarma işlemi seçildi gelen içeri/dışarı aktarma ayarları IDE'nin üzerinde kullanılabilir özellik Araçları menüsünde ortamı geçirir bir IVsSettingsReader içinde yapılandırma verilerini okumaya arabirimi kullanan bir VSPackage'nın Ayarları Alma yöntemine arabirimi.Visual Studio SDK Birkaç alma yöntemi destekler:
Birlikte çalışma derlemesi VSPackages tabanlı için alma yöntemini VSPackage'nın uygulamasıdır IVsUserSettings arabirimin ImportSettings yöntemi.
Çoğu paket çerçevesi ile yönetilen VSPackages tabanlı için alma yöntemini VSPackage'nın uygulamasıdır IProfileManager arabirimin LoadSettingsFromXml yöntemi.
VSPackages uygulama paketi çerçevesi ile yönetilen tabanlı için DialogPage alma yöntemini arabirimdir o arabirimin LoadSettingsFromXml yöntemi.
Ayarları alma daha fazla bilgi için bkz: nasıl yapılır: alma ayarlarını kullan birlikte çalışma derlemeleri veya içeri aktarma ayarları.
Örnekler
Aşağıdaki örnekte, uygulamasıdır ImportSettings, üç ayar değerlerini okur. Bu yöntem bazı alınan değerleri başka bir değer almak nasıl belirlemek için kullanır: Giriş arabellek boyutunu pTrashBytes değerini alarak belirlenir lTrashLength daha önce alınır.
[!NOT]
Arabellekler veya dize depolarken en iyi boyutu depolanan arabellek veya dize yanı sıra nesnesi ile kaydetmek için uygulamadır. Bu boyut bilgileri her zaman dizesinin kaydedilmiş arabellek alınırken arabellek taşmaları önlemek için kullanılmalıdır.
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;
};
Ayrıca bkz.
ImportSettings
IVsSettingsWriter
Microsoft.VisualStudio.Shell.Interop Ad alanı
Kullanıcı ayarları için destek
Nasıl yapılır: birlikte çalışma derlemelerini ayarları içeri aktarmak için kullanın
Ayarları içeri aktarma
Working with Settings
Başa dön