Interface IVsSettingsReader
Publicado: abril de 2016
Fornece acesso de leitura às informações de configuração armazenadas no Visual Studio arquivo de configurações.
Namespace: Microsoft.VisualStudio.Shell.Interop
Assembly: Microsoft.VisualStudio.Shell.Interop.8.0 (em Microsoft.VisualStudio.Shell.Interop.8.0.dll)
Sintaxe
[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
Métodos
Nome | Descrição | |
---|---|---|
ReadCategoryVersion(Int32, Int32, Int32, Int32) | Retorna o valor de um objeto de versão de categoria armazenado no Visual Studio arquivo de configurações. |
|
ReadFileVersion(Int32, Int32, Int32, Int32) | Retorna o valor de um objeto de versão do arquivo armazenado no Visual Studio arquivo de configurações. |
|
ReadSettingAttribute(String, String, String) | Retorna o valor de um objeto de atributo armazenado na Visual Studio arquivo de configurações. |
|
ReadSettingBoolean(String, Int32) | Retorna o valor de um objeto booliano armazenado no Visual Studio arquivo de configurações. |
|
ReadSettingBytes(String, Byte, Int32, Int32) | Retorna os valores de uma matriz armazenados no Visual Studio arquivo de configurações. |
|
ReadSettingLong(String, Int32) | Retorna o valor de um objeto longo armazenado no Visual Studio arquivo de configurações. |
|
ReadSettingString(String, String) | Retorna o valor de um objeto de cadeia de caracteres armazenado no Visual Studio arquivo de configurações. |
|
ReadSettingXml(String, Object) | Retorna o valor de um objeto XML armazenado na Visual Studio arquivo de configurações. |
|
ReadSettingXmlAsString(String, String) | Retorna o valor de uma configuração XML como um objeto de cadeia de caracteres armazenados no Visual Studio arquivo de configurações. |
|
ReportError(String, UInt32) | Relata que o status de erro do arquivo de definições de operação de leitura. |
Comentários
Essa interface é implementada pelo ambiente.
Observações para chamadores
Chamar o IVsSettingsReader ao recuperar um VSPackage armazenado informações de configuração de interface de Visual Studio arquivo de configurações.
Observações para implementadores
Somente os VSPackages que registrou o seu suporte a Visual Studio configurações do mecanismo de fazer usam do IVsSettingsReader interface. Para obter mais informações sobre como registrar um VSPackage que oferece suporte a Visual Studio mecanismo de configurações, consulte suporte para configurações de usuário.
Quando uma operação de importação de configurações foi selecionada o configurações de importação/exportação recurso disponível no IDE do ferramentas menu, o ambiente passa um IVsSettingsReader interface para o método de importação de configurações do VSPackage, que usa a interface para ler dados de configuração. O SDK do Visual Studio oferece suporte a vários métodos de importação:
Assembly de interoperabilidade com base VSPackages, o método de importação é a implementação do VSPackage do IVsUserSettings da interface ImportSettings método.
Para a maioria das estrutura de pacote gerenciado com base em VSPackages, o método de importação é a implementação do VSPackage do IProfileManager da interface LoadSettingsFromXml método.
Estrutura de pacote gerenciado com base VSPackages Implementando o DialogPage interface, o método de importação é a interface LoadSettingsFromXml método.
Para obter mais informações para importar as configurações, consulte como: usar Assemblies de interoperabilidade para importar configurações ou Importando configurações.
Exemplos
No exemplo a seguir, é uma implementação do ImportSettings, que lê os valores de três configurações. Esse método usa alguns dos valores recuperados para determinar como recuperar outro valor: o tamanho do buffer de entrada pTrashBytes é determinado por recuperar o valor de lTrashLength recuperados anteriormente.
Observação |
---|
Prática recomendada para armazenar buffers ou cadeia de caracteres é salvar o tamanho do buffer armazenado ou cadeia de caracteres, bem como o próprio objeto. Essas informações de tamanho sempre devem ser usadas ao recuperar o buffer salvo de cadeia de caracteres para evitar estouros de buffer. |
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;
};
Confira Também
ImportSettings
IVsSettingsWriter
Namespace Microsoft.VisualStudio.Shell.Interop
Suporte para configurações de usuário
Como: usar Assemblies de interoperabilidade para importar configurações
Importando configurações
Working with Settings
Retornar ao início