Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Importante
A partir do Visual Studio 2022 versão 17.9, os visualizadores agora podem ser escritos no .NET 6.0+ que são executados fora do processo usando o novo modelo VisualStudio.Extensibility. Para extensões criadas usando o novo modelo, consulte a documentação no Criar visualizadores de depuração do Visual Studio. Se você precisar oferecer suporte a versões mais antigas do Visual Studio ou quiser enviar seus visualizadores personalizados como parte de uma DLL de biblioteca, use as informações neste artigo, que se aplica somente ao modelo mais antigo de desenvolvimento de extensão (VSSDK).
Este passo a passo mostra como escrever um visualizador simples usando o Visual Basic. O visualizador que você criará neste passo a passo exibe o conteúdo de uma cadeia de caracteres usando uma caixa de mensagem do Windows Forms. Este visualizador de cadeia de caracteres simples é um exemplo básico para mostrar como você pode criar visualizadores para outros tipos de dados mais aplicáveis aos seus projetos.
Observação
As caixas de diálogo e os comandos de menu exibidos podem ser diferentes dos descritos na Ajuda, dependendo das configurações ativas ou da edição. Para alterar suas configurações, vá para o menu Ferramentas e escolha Importar e Exportar . Para obter mais informações, consulte Redefinir configurações.
O código do visualizador deve ser colocado em uma DLL que será lida pelo depurador. A primeira etapa é criar um projeto de biblioteca de classes para a DLL.
Criar e preparar um projeto de biblioteca de classes
Para criar um projeto de biblioteca de classes
Crie um novo projeto de biblioteca de classes.
Pressione Esc para fechar a janela inicial. Digite Ctrl + Q para abrir a caixa de pesquisa, digite biblioteca de classes e selecione a Biblioteca de Classes do Visual Basic (.NET Framework).
Pressione Esc para fechar a janela inicial. Digite Ctrl + Q para abrir a caixa de pesquisa, digite visual basic, escolha Modelos e escolha Criar uma nova biblioteca de classes (.NET Framework).
Digite um nome apropriado para a biblioteca de classes, como
MyFirstVisualizer, e clique em Criar ou OK.Depois de criar a biblioteca de classes, você deve adicionar uma referência a Microsoft.VisualStudio.DebuggerVisualizers.DLL, para que você possa usar as classes definidas lá. Primeiro, no entanto, você dá ao seu projeto um nome significativo.
Para renomear Class1.vb e adicionar Microsoft.VisualStudio.DebuggerVisualizers
No Gerenciador de Soluções, clique com o botão direito do mouse em Class1.vb e, no menu de atalho, clique em Renomear.
Altere o nome de Class1.vb para algo significativo, como DebuggerSide.vb.
Observação
O Visual Studio altera automaticamente a declaração de classe no DebuggerSide.vb para corresponder ao novo nome de arquivo.
No Gerenciador de Soluções, clique com o botão direito do mouse em Meu Primeiro Visualizador e, no menu de atalho, clique em Adicionar Referência.
Na caixa de diálogo Adicionar Referência , na guia Procurar , selecione Procurar e localize o Microsoft.VisualStudio.DebuggerVisualizers.DLL.
Você pode encontrar a DLL no <subdiretório Install Directory>\Common7\IDE\PublicAssemblies do diretório de instalação do Visual Studio.
Clique em OK.
Em DebuggerSide.vb, adicione a seguinte instrução às
Importsinstruções:Imports Microsoft.VisualStudio.DebuggerVisualizers
Adicionar o código do lado do depurador
Agora, você está pronto para criar o código do lado do depurador. Este é o código que é executado dentro do depurador para exibir as informações que você deseja visualizar. Primeiro, você tem que alterar a DebuggerSide declaração do objeto para que ele herda da classe DialogDebuggerVisualizerbase.
Para herdar de DialogDebuggerVisualizer
No DebuggerSide.vb, vá para a seguinte linha de código:
Public Class DebuggerSideEdite o código para que tenha esta aparência:
Public Class DebuggerSide Inherits DialogDebuggerVisualizerObservação
DialogDebuggerVisualizer espera um
FormatterPolicyargumento no seu construtor. No entanto, devido aos problemas de segurança descritos em Considerações especiais do lado do depurador para .NET 5.0+, a partir da versão 17.11 do Visual Studio 2022, os visualizadores não poderão definir a política do formatador.DialogDebuggerVisualizertem um método abstrato,Show, que você deve substituir.
Para substituir o método DialogDebuggerVisualizer.Show
No
public class DebuggerSide, adicione o seguinte método:Protected Overrides Sub Show(ByVal windowService As Microsoft.VisualStudio.DebuggerVisualizers.IDialogVisualizerService, ByVal objectProvider As Microsoft.VisualStudio.DebuggerVisualizers.IVisualizerObjectProvider) End SubO
Showmétodo contém o código que realmente cria a caixa de diálogo do visualizador, ou outra interface do usuário, e exibe as informações que foram passadas para o visualizador a partir do depurador. Você deve adicionar o código que cria a caixa de diálogo e exibe as informações. Neste passo a passo, você fará isso usando uma caixa de mensagem do Windows Forms. Primeiro, deve adicionar uma referênciaImportse uma instrução para System.Windows.Forms.
Para adicionar o componente System.Windows.Forms
No Gerenciador de Soluções, clique com o botão direito do mouse em Referências e, no menu de atalho, clique em Adicionar Referência.
Na caixa de diálogo Adicionar Referência , na guia Procurar , selecione Procurar e localize o System.Windows.Forms.DLL.
Você pode encontrar a DLL em C:\Windows\Microsoft.NET\Framework\v4.0.30319.
Clique em OK.
Em DebuggerSide.cs, adicione a seguinte instrução às
Importsinstruções:Imports System.Windows.Forms
Crie a interface de usuário do seu visualizador
Agora você adicionará algum código para criar e mostrar a interface do usuário para seu visualizador. Como este é o seu primeiro visualizador, você manterá a interface do usuário simples e usará uma caixa de mensagens.
Para mostrar a saída do visualizador em uma caixa de diálogo
ShowNo método, adicione a seguinte linha de código:MessageBox.Show(objectProvider.GetObject().ToString())Este código de exemplo não inclui tratamento de erros. Você deve incluir o tratamento de erros em um visualizador real ou em qualquer outro tipo de aplicativo.
No menu Build , clique em Build MyFirstVisualizer. O projeto deve ser construído com sucesso. Corrija quaisquer erros de compilação antes de continuar.
Adicionar o atributo necessário
Este é o final do código do lado do depurador. Há mais uma etapa, no entanto: o atributo que informa ao lado do depurador qual coleção de classes compreende o visualizador.
Para adicionar o tipo a ser visualizado para o código do lado do depurador
No código do lado do depurador, você especifica o tipo a ser visualizado (a origem do objeto) para o depurador usando o DebuggerVisualizerAttribute atributo. A Target propriedade define o tipo a ser visualizado.
Adicione o seguinte código de atributo a DebuggerSide.vb, após as
Importsinstruções, mas antes denamespace MyFirstVisualizer:<Assembly: System.Diagnostics.DebuggerVisualizer(GetType(MyFirstVisualizer.DebuggerSide), GetType(VisualizerObjectSource), Target:=GetType(System.String), Description:="My First Visualizer")>No menu Build , clique em Build MyFirstVisualizer. O projeto deve ser construído com sucesso. Corrija quaisquer erros de compilação antes de continuar.
Criar um arnês de teste
Neste ponto, seu primeiro visualizador está concluído. Se você tiver seguido as etapas corretamente, você pode criar o visualizador e instalá-lo no Visual Studio. Antes de instalar um visualizador no Visual Studio, no entanto, você deve testá-lo para certificar-se de que ele é executado corretamente. agora você criará um conjunto de teste para executar o visualizador sem instalá-lo no Visual Studio.
Para adicionar um método de teste para mostrar o visualizador
Adicione o seguinte método à classe
public DebuggerSide:Shared Public Sub TestShowVisualizer(ByVal objectToVisualize As Object) Dim visualizerHost As New VisualizerDevelopmentHost(objectToVisualize, GetType(DebuggerSide)) visualizerHost.ShowVisualizer() End SubNo menu Build , clique em Build MyFirstVisualizer. O projeto deve ser construído com sucesso. Corrija quaisquer erros de compilação antes de continuar.
Em seguida, você deve criar um projeto executável para chamar sua DLL do visualizador. Para simplificar, use um projeto de aplicativo de console.
Para adicionar um projeto de aplicativo de console à solução
No Gerenciador de Soluções, clique com o botão direito do mouse na solução, escolha Adicionar e clique em Novo Projeto.
Na caixa Pesquisar, digite visual basic, escolha Modelos e escolha Criar um novo Aplicativo de Console (.NET Framework). Na caixa de diálogo exibida, escolha Criar.
Digite um nome apropriado para a biblioteca de classes, como
MyTestConsole, e clique em Criar ou OK.Agora, você deve adicionar as referências necessárias para que MyTestConsole possa chamar MyFirstVisualizer.
Para adicionar referências necessárias ao MyTestConsole
No Gerenciador de Soluções, clique com o botão direito do mouse em MyTestConsole e, no menu de atalho, clique em Adicionar Referência.
Na caixa de diálogo Adicionar Referência , na guia Procurar , clique em Microsoft.VisualStudio.DebuggerVisualizers.
Clique em OK.
Clique com o botão direito do mouse em MyTestConsole e clique em Adicionar referência novamente.
Na caixa de diálogo Adicionar Referência , clique na guia Projetos e selecione MyFirstVisualizer.
Clique em OK.
Conclua seu equipamento de teste e teste seu visualizador
Agora, você adicionará o código para concluir o conjunto de teste.
Para adicionar código ao MyTestConsole
No Gerenciador de Soluções, clique com o botão direito do mouse em Program.vb e, no menu de atalho, clique em Renomear.
Edite o nome de Module1.vb para algo apropriado, como TestConsole.vb.
Observe que o Visual Studio altera automaticamente a declaração de classe no TestConsole.vb para corresponder ao novo nome de arquivo.
No TestConsole. vb, adicione a seguinte
Importsinstrução:Imports MyFirstVisualizerNo método
Main, adicione o seguinte código:Dim myString As String = "Hello, World" DebuggerSide.TestShowVisualizer(myString)Agora você está pronto para testar seu primeiro visualizador.
Para testar o visualizador
No Gerenciador de Soluções, clique com o botão direito do mouse em MyTestConsole e, no menu de atalho, clique em Definir como Projeto de Inicialização.
No menu Depurar , clique em Iniciar.
A aplicação de consola inicia-se. O visualizador aparece e exibe a cadeia de caracteres "Olá, Mundo".
Parabéns! Você acabou de criar e testar seu primeiro visualizador.
Se você quiser usar seu visualizador no Visual Studio em vez de apenas chamá-lo a partir do conjunto de teste, você precisa instalá-lo. Para obter mais informações, consulte Como instalar um visualizador.