Partilhar via


Usar o log de atividades

Os VSPackages podem gravar mensagens no log de atividades. Esse recurso é especialmente útil para depurar VSPackages em ambientes de varejo.

Dica

O registro de atividades está sempre ativado. O Visual Studio mantém um buffer contínuo das últimas 100 entradas, bem como das primeiras 10 entradas, que têm informações gerais de configuração.

Para gravar uma entrada no log de atividades

  1. Insira este código no método Initialize ou em qualquer outro método, exceto o construtor VSPackage:

    IVsActivityLog log = GetService(typeof(SVsActivityLog)) as IVsActivityLog;
    if (log == null) return;
    
    int hr = log.LogEntry((UInt32)__ACTIVITYLOG_ENTRYTYPE.ALE_INFORMATION,
        this.ToString(),
        string.Format(CultureInfo.CurrentCulture,
        "Called for: {0}", this.ToString()));
    

    Esse código obtém o serviço SVsActivityLog e o converte em uma interface IVsActivityLog. LogEntry grava uma entrada informativa no log de atividades usando o contexto cultural atual.

  2. Quando o VSPackage é carregado (geralmente quando um comando é chamado ou uma janela é aberta), o texto é gravado no log de atividades.

Para examinar o log de atividades

  1. Execute o Visual Studio com a opção de linha de comando /Log para gravar ActivityLog.xml no disco durante a sessão.

  2. Depois de fechar o Visual Studio, localize o log de atividades na subpasta de dados do Visual Studio:

    *%AppData%\Microsoft\VisualStudio\{version}\ActivityLog.xml

  3. Abra o registro de atividades com qualquer editor de texto. Aqui está uma entrada típica:

    Called for: Company.MyApp.MyAppPackage ...
    

Solução de problemas de importação/exportação em extensões do editor: acesse o log de erros de composição do MEF

Ao escrever uma extensão baseada em editor, você pode enfrentar problemas se tentar importar algo que não existe na instalação atual do VS ou se criar incorretamente sua importação ou exportação. A principal maneira de localizar e resolver esses problemas é fazer referência ao Log de Erros de Composição do Managed Extensibility Framework (MEF), armazenado em %localappdata%\Microsoft\VisualStudio{version}\ComponentModelCache\Microsoft.VisualStudio.Default.err. Para saber mais sobre como usar o MEF em suas extensões, confira esta documentação.

Programação robusta

Como o log de atividades é um serviço, o log de atividades não está disponível no construtor VSPackage.

Você deve obter o registro de atividades antes de gravá-lo. Não armazene em cache nem salve o log de atividades para uso futuro.