Interface IVsUserSettingsQuery

 

Publicado: abril de 2016

Permite que um VSPackage indicar se as configurações precisam ser salvos ou não.

Namespace:   Microsoft.VisualStudio.Shell.Interop
Assembly:  Microsoft.VisualStudio.Shell.Interop.8.0 (em Microsoft.VisualStudio.Shell.Interop.8.0.dll)

Sintaxe

[GuidAttribute("334E1F15-7D97-4231-81B0-998E4A960E69")]
[InterfaceTypeAttribute(1)]
public interface IVsUserSettingsQuery
[GuidAttribute("334E1F15-7D97-4231-81B0-998E4A960E69")]
[InterfaceTypeAttribute(1)]
public interface class IVsUserSettingsQuery
[<GuidAttribute("334E1F15-7D97-4231-81B0-998E4A960E69")>]
[<InterfaceTypeAttribute(1)>]
type IVsUserSettingsQuery = interface end
<GuidAttribute("334E1F15-7D97-4231-81B0-998E4A960E69")>
<InterfaceTypeAttribute(1)>
Public Interface IVsUserSettingsQuery

Métodos

Nome Descrição
System_CAPS_pubmethod NeedExport(String, Int32)

Indica se a categoria especificada requer uma exportação de suas configurações.

Comentários

Observações para implementadores

Implementar se um VSPackage precisa controlar suas configurações estão sendo salvas em um Visual Studio arquivo de configurações.

Observações para chamadores

Essa interface deve ser implementada somente se um VSPackage precisar controlar a economia de suas configurações.

Por exemplo, um VSPackage pode permitir que os usuários alterem as configurações para a sessão atual, mas apenas atualizar informações armazenadas quando eles clicarem em um Salvar botão.

Se um VSPackage não implementa essa interface, seu estado sempre será exportado.

Um único VSPackage pode dar suporte a mais de um ponto de configurações personalizado (configurações de categoria). Portanto, as implementações de NeedExport deve verificar o ponto de configurações personalizado fornecido identificando GUID ou configurações de argumento de categoria, para determinar se um determinado grupo de configurações precisa ser salvo.

Por exemplo, no exemplo abaixo, o VSPackage sempre solicitações que seu estado de barra de comando é salva, mas somente solicitações seu estado de associação de chave salvos se um sinalizador foi definido.

Exemplos

STDMETHOD(NeedExport)(WCHAR* pszCategoryGUID, BOOL *pfNeedExport)
{
    if (!pfNeedExport)
        return E_INVALIDARG;

    CLSID clsidCategory;
    HRESULT hr= S_OK;

    hr = CLSIDFromString(pszCategoryGUID, &clsidCategory);
    IfFailGo(hr);
    if (GUID_Profiles_CommandBars == clsidCategory) {
        *pfNeedExport = TRUE; //Always export Command Bar Configuration
    }else if (GUID_Profiles_KeyBindings == clsidCategory) {
        *pfNeedExport = FALSE; //By Default don't export key bindings
        if (m_fMake_Permanent)
            *pfNeedExport = TRUE; //Export if user wants current configuration saved.
    }else{
        hr = E_UNEXPECTED;
    }
 Error:
    return hr;
}

Confira Também

IVsUserSettings
Namespace Microsoft.VisualStudio.Shell.Interop
Suporte para configurações de usuário
Como: usar Assemblies de interoperabilidade para importar configurações
Working with Settings

Retornar ao início