Visão geral

A extensão VisualStudio.Extensibility Diagnostics Explorer foi projetada para ajudar a depurar extensões VisualStudio.Extensibility durante o seu desenvolvimento. O público-alvo dessa extensão são os autores de extensão, não os consumidores de extensão. Essa extensão fornece uma interface para inspecionar os pontos de extensibilidade 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

Siga estas instruções para instalar, iniciar e configurar o Diagsnotics Explorer.

Instalar a extensão

Você pode obter o Explorador de Diagnósticos diretamente através do Gerenciador de Extensões no Visual Studio ou no Visual Studio Marketplace aqui.

Nota

A extensão Diagnostics Explorer do VisualStudio.Extensibility é compatível com o Visual Studio 2022 17.12 e superior.

Abrir o Gerenciador de Diagnósticos no Visual Studio

Para iniciar o Explorador de Diagnósticos no Visual Studio, selecione VisualStudio.Extensibility Diagnostics Explorer no menu Extensões.

Captura de tela do comando que abre a janela de ferramentas da extensão.

Habilitar a coleta de diagnósticos

O Gerenciador de Diagnósticos é configurado para coletar dados de diagnóstico relevantes de suas extensões por padrão. Se você quiser desabilitar ou reabilitar essa coleta de dados, poderá alternar a caixa de seleção Habilitar a coleta de diagnósticos no canto inferior esquerdo da janela da ferramenta. Uma reinicialização do Visual Studio é necessária para que todas as alterações nessa configuração entrem em vigor.

Captura de tela da configuração

Páginas de diagnóstico

O painel esquerdo da janela da ferramenta Explorador de Diagnósticos contém uma lista de diferentes páginas de diagnóstico. Há dois tipos de páginas de diagnóstico: recursos extensíveis e infraestrutura de extensibilidade. As páginas de recursos extensíveis fornecem informações de diagnóstico sobre um componente extensível específico no Visual Studio, como comandos. As páginas de infraestrutura de extensibilidade fornecem informações de diagnóstico relevantes, independentemente de quais pontos de extensibilidade sua extensão se conecta. A página Eventos, um visualizador ao vivo para eventos relacionados à extensibilidade, e a página Contextos do Cliente, que mostra o estado relevante do IDE para ajudá-lo a criar suas restrições de ativação, são as duas páginas de infraestrutura de extensibilidade.

Captura de tela do painel esquerdo da janela de ferramentas.

Páginas de funcionalidades extensíveis

As páginas de recursos extensíveis têm um ComboBox no canto superior esquerdo para os diferentes Pontos de Extensibilidade nessa área de recurso, cada um deles pode ser mapeado diretamente para os objetos de configuração na sua extensão. Por exemplo, na página Comandos, há um Ponto de Extensibilidade para Menus e Barras de Ferramentas, que mostra cada um dos menus e barras de ferramentas que o Visual Studio descobriu nas suas extensões VisualStudio.Extensibility.

Os dados são atualizados em tempo real à medida que as propriedades são atualizadas em extensões. Por exemplo, se uma extensão alterar o nome de exibição de um de seus comandos em runtime, o novo nome de exibição desse comando será mostrado na célula na coluna Nome de Exibição para esse comando imediatamente.

Captura de tela da página Comandos.

O Extensibility Point ComboBox também tem um item chamado Log, que mostra uma visualização ao vivo dessas atualizações. O botão Limpar Tudo localizado ao lado do ComboBox pode ser usado para limpar todas as linhas que estão sendo exibidas na exibição.

Captura de tela da página de Registro do Comando.

Você pode filtrar os itens na exibição usando o Extensions ComboBox. Quando All é selecionado neste ComboBox, os dados de cada extensão do VisualStudio.Extensibility instalada são mostrados. Se você alterar esse ComboBox para a ID de uma extensão específica, somente itens relacionados a essa extensão específica serão mostrados. O valor desse ComboBox é mantido mesmo quando você navega entre páginas de funcionalidades extensíveis.

Captura de tela da página do Comando filtrada para uma extensão específica.

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 perfeitamente em uma célula do DataGrid. Clicar na célula abre uma caixa de diálogo modal exibindo o valor real dessa célula.

Captura de tela da caixa de diálogo modal

Páginas de infraestrutura extensíveis

Página eventos

A página de eventos mostra quando "algo acontece" no IDE. Cada evento aparece como uma nova linha no DataGrid, juntamente com as propriedades relacionadas a esse evento. Por exemplo, quando um comando é executado, um evento Commands – Executing aparece no modo de exibição mostrando a ID da extensão à qual o comando pertence e a ID do comando que foi executado.

Você pode usar o Event ComboBox para filtrar a exibição para conter apenas eventos com um nome específico. Quando Tudo está selecionado, todos os eventos são mostrados. Se um evento específico for selecionado, todas as propriedades do evento serão mostradas na exibição. Algumas propriedades precisam ser expandidas clicando em [Clique para Expandir] se forem muito detalhadas para serem mostradas em uma única célula.

O Contract ComboBox filtra a exibição para mostrar apenas eventos relacionados a um recurso extensível específico. Ele também filtra o Event ComboBox para conter apenas os nomes de eventos relacionados ao recurso extensível específico.

Clicar no botão Limpar Todos exclui todos os eventos atualmente exibidos na visão.

Captura de tela da página Eventos.

Descrições das Colunas
ID da Extensão

A coluna ID da Extensão mostra a ID da extensão à qual a instância do evento está relacionada. É possível que essa célula fique 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 a ID do item de extensão ao qual a instância do evento está relacionada. Por exemplo, o ID do Item para o evento Comandos – Executar seria a ID do comando que foi executado.

Propriedades

A coluna Properties mostra o conjunto de propriedades relacionadas a essa instância do evento que podem ser exibidas em uma única célula em um DataGrid. Propriedades mais detalhadas só estariam visíveis na caixa de diálogo Mais Informações ou alterando o ComboBox 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 que contém todos os metadados relacionados ao evento representado por essa linha.

Captura de tela da caixa de diálogo Mais Informações.

Página Contextos do Cliente

A página de contextos do cliente mostra o estado de várias propriedades relacionadas ao próprio IDE. O ComboBox Contexto modifica os dados exibidos para mostrar todas as restrições de ativação relacionadas ao item selecionado no momento no ComboBox Contextos do Cliente ou um registro de todas as vezes em que essas propriedades mudaram desde que a janela da ferramenta foi aberta. Quando o contexto Eventos é selecionado, o botão Limpar Tudo pode ser usado para excluir todos os eventos que estão sendo exibidos na vista.

Captura de tela da página Estado Atual da Restrição de Ativação.

Captura de tela da página Eventos da Restrição de Ativação.