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
System_CAPS_pubmethod ReadCategoryVersion(Int32, Int32, Int32, Int32)

Retorna o valor de um objeto de versão de categoria armazenado no Visual Studio arquivo de configurações.

System_CAPS_pubmethod ReadFileVersion(Int32, Int32, Int32, Int32)

Retorna o valor de um objeto de versão do arquivo armazenado no Visual Studio arquivo de configurações.

System_CAPS_pubmethod ReadSettingAttribute(String, String, String)

Retorna o valor de um objeto de atributo armazenado na Visual Studio arquivo de configurações.

System_CAPS_pubmethod ReadSettingBoolean(String, Int32)

Retorna o valor de um objeto booliano armazenado no Visual Studio arquivo de configurações.

System_CAPS_pubmethod ReadSettingBytes(String, Byte, Int32, Int32)

Retorna os valores de uma matriz armazenados no Visual Studio arquivo de configurações.

System_CAPS_pubmethod ReadSettingLong(String, Int32)

Retorna o valor de um objeto longo armazenado no Visual Studio arquivo de configurações.

System_CAPS_pubmethod ReadSettingString(String, String)

Retorna o valor de um objeto de cadeia de caracteres armazenado no Visual Studio arquivo de configurações.

System_CAPS_pubmethod ReadSettingXml(String, Object)

Retorna o valor de um objeto XML armazenado na Visual Studio arquivo de configurações.

System_CAPS_pubmethod 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.

System_CAPS_pubmethod 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.

System_CAPS_noteObservaçã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