IVsUserSettingsQuery Interface

Definição

Permite que um VSPackage indique se suas configurações precisam ser salvas ou não.

public interface class IVsUserSettingsQuery
public interface class IVsUserSettingsQuery
__interface IVsUserSettingsQuery
[System.Runtime.InteropServices.Guid("334E1F15-7D97-4231-81B0-998E4A960E69")]
[System.Runtime.InteropServices.InterfaceType(1)]
public interface IVsUserSettingsQuery
[<System.Runtime.InteropServices.Guid("334E1F15-7D97-4231-81B0-998E4A960E69")>]
[<System.Runtime.InteropServices.InterfaceType(1)>]
type IVsUserSettingsQuery = interface
Public Interface IVsUserSettingsQuery
Derivado
Atributos

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;  
}  

Comentários

Notas para implementadores

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

Observações para chamadores

Essa interface só deve ser implementada 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 da sessão atual, mas só atualize as informações armazenadas quando clicarem em um botão salvar .

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

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

Por exemplo, no exemplo abaixo, o VSPackage sempre solicita que seu estado de barra de comandos seja salvo, mas só solicitará que seu estado de associação de chave seja salvo se um sinalizador tiver sido definido.

Métodos

NeedExport(String, Int32)

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

Aplica-se a