Visão geral
A extensão VisualStudio.Extensibility Diagnostics Explorer foi projetada para ajudar a depurar extensões do VisualStudio.Extensibility durante o desenvolvimento. O público-alvo dessa extensão são os autores de extensões, e não seus consumidores. Essa extensão fornece uma interface para inspecionar os pontos de extensão com os quais as extensões estão interagindo e quais extensões de objetos de configuração estão fornecendo ao IDE e os metadados desses objetos de configuração.
Começar agora
Siga estas instruções para instalar, iniciar e configurar o Diagsnotics Explorer.
Instalar a Extensão
Você pode obter o Diagnostics Explorer diretamente por meio do Gerenciador de Extensões no Visual Studio ou do Visual Studio Marketplace aqui.
Observação
A extensão VisualStudio.Extensibility Diagnostics Explorer é compatível com o Visual Studio 2022 17.10 e superior.
Abra o Diagnostics Explorer no Visual Studio
Para iniciar o Diagnostics Explorer no Visual Studio, selecione VisualStudio.Extensibility Diagnostics Explorer no menu Extensões.
Habilitar coleta de diagnósticos
O Diagnostics Explorer é configurado por padrão para coletar dados de diagnóstico relevantes das suas extensões. Se desejar desabilitar ou reabilitar essa coleta de dados, você poderá alternar a caixa de seleção Habilitar coleta de diagnósticos no canto inferior esquerdo da janela de ferramentas. Uma reinicialização do Visua Studio é necessária para que quaisquer alterações nessa configuração entrem em vigor.
Página Diagnósticos
O painel esquerdo da janela de ferramentas do Diagnostics Explorer contém uma lista de páginas de recursos diferentes. Essas páginas correspondem aos recursos extensíveis para os quais você pode encontrar informações de diagnóstico sobre os componentes e configurações que o Visual Studio descobriu de suas extensões. Por exemplo, você pode selecionar Comandos para exibir diagnósticos relacionados aos seus comandos, conjuntos de comandos, menus e barras de ferramentas, posicionamentos e muito mais.
Também na lista estão duas páginas especiais que não estão diretamente relacionadas a nenhum componente em sua extensão: Eventos, um visualizador ao vivo para eventos relacionados à extensibilidade, e Restrições de ativação, que mostra o estado relevante do IDE para ajudar você a criar suas restrições de ativação.
Páginas de recursos extensíveis
As páginas de recursos extensíveis têm uma caixa de combinação no canto superior esquerdo para os diferentes Pontos de Extensão nessa área de recurso, cada um dos quais pode ser mapeado diretamente para objetos de configuração em sua extensão. Por exemplo, na página Comandos, há um Ponto de Extensão para Menus e Barras de Ferramentas, o qual mostra cada um dos menus e barras de ferramentas que o Visual Studio descobriu em suas extensões VisualStudio.Extensibility.
Os dados são atualizados em tempo real à medida que as propriedades são atualizadas nas extensões. Por exemplo, se uma extensão alterar o nome de exibição de um de seus comandos em tempo de execução, o novo nome de exibição desse comando será mostrado imediatamente na célula na coluna Nome de Exibição desse comando.
A caixa de combinação Ponto de Extensão também tem um item chamado Log que mostra uma visualização ao vivo dessas atualizações. O botão Limpar Rudo ao lado da caixa de combinação pode ser usado para limpar todas as linhas que estão sendo mostradas na exibição.
Você pode filtrar os itens no modo de exibição usando a caixa de combinação Extensões. Quando Tudo é selecionado nesta caixa de combinação, os dados de cada extensão VisualStudio.Extensibility instalada são mostrados. Se você alterar esse caixa de combinação para o ID de uma extensão específica, somente os itens relacionados a essa extensão específica serão mostrados. O valor dessa caixa de combinação é persistente mesmo quando você navega entre páginas de recursos extensíveis.
Algumas células no DataGrid exibem [Clique para expandir]. Essa mensagem significa que os metadados relacionados a essa propriedade são muito detalhados para serem exibidos ordenadamente em uma célula do DataGrid. Clicar na célula abre uma caixa de diálogo modal exibindo o valor real dessa célula.
Página de eventos
A página de eventos mostra quando "algo acontece" no IDE. Cada evento aparece como uma nova linha no DataGrid, juntamente com quaisquer propriedades relacionadas a esse evento. Por exemplo, quando um comando é executado, um evento Commands - Running aparece no modo de exibição mostrando o ID da extensão à qual o comando pertence e o ID do comando que foi executado.
Você pode usar a caixa de combinação Evento para filtrar o modo de exibição para conter apenas eventos com um nome específico. Quando Todos estiver selecionado, todos os eventos serão mostrados. Se um evento específico for selecionado, todas as propriedades do evento serão mostradas no modo de exibição. Algumas propriedades precisam ser expandidas clicando em [Clique para expandir] se elas forem muito detalhadas para serem mostradas em uma única célula.
A caixa de combinação Contrato filtra a exibição para mostrar apenas eventos relacionados a um recurso extensível específico. Ela também filtra a caixa de combinação Event
para conter somente os nomes dos eventos relacionados a um recurso extensível específico.
Clicar no botão Limpar Tudo exclui todos os eventos mostrados na exibição.
Descrições de coluna
ID da Extensão
A coluna ID da Extensão mostra o ID da extensão à qual a instância do evento está relacionada. É possível que essa célula esteja vazia para alguns eventos se eles não pertencerem a uma extensão específica, mas se aplicarem ao IDE como um todo.
ID do Item
A coluna ID do Item mostra o ID do item de extensão ao qual a instância do evento está relacionada. Por exemplo, o ID do Item para o evento Commands - Executing seria o ID do comando que foi executado.
Propriedades
A coluna Propriedades mostra o conjunto de propriedades relacionadas a essa instância do evento que pode ser exibida em uma única célula em um DataGrid. Propriedades mais detalhadas só seriam visíveis na caixa de diálogo Mais Informações ou alterando-se a caixa de combinação Evento para o nome do evento específico no qual você está interessado.
Mais informações
A coluna Mais Informações exibe metadados mais detalhados relacionados a um evento. Clicar em uma célula nesta coluna abre uma caixa de diálogo modal contendo todos os metadados relacionados ao evento representado por essa linha.
Página Restrições de Ativação
A página de restrições de ativação mostra o estado de várias propriedades relacionadas ao próprio IDE. A caixa de combinação Contexto altera os dados na exibição para mostrar todas as restrições de ativação relacionadas ao item atualmente selecionado na caixa de combinação Restrições de Ativação ou um log de todas as vezes que essas propriedades mudaram desde que a janela de ferramentas foi aberta. Quando o contexto Eventos é selecionado, o botão Limpar Tudo pode ser usado para excluir todos os eventos que estão sendo mostrados na exibição.