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