Compartilhar via


Utilizar o registo de atividades

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

Sugestão

O registo 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 escrever uma entrada no registo 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 é invocado ou uma janela é aberta), o texto é gravado no log de atividades.

Para examinar o registro 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 para 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 ter 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 do VSPackage.

Você deve obter o registro de atividades antes de escrever nele. Não armazene em cache ou salve o registro de atividades para uso futuro.