Criar exibições personalizadas de objetos .NET (C#, Visual Basic, F#, C++/CLI)
Você pode personalizar o modo como o Visual Studio exibe tipos de dados nas janelas variáveis do depurador.
Atributos
Em C#, Visual Basic, F# e C++ (somente código C++/CLI), você pode adicionar expansões de dados personalizados usando DebuggerDisplayAttribute, DebuggerTypeProxyAttribute e DebuggerBrowsableAttribute.
Em código do .NET Framework 2.0, o Visual Basic não oferece suporte ao atributo DebuggerBrowsable. Essa limitação foi removida em versões mais recentes do .NET.
Visualizadores
Há duas opções para criar um visualizador para um tipo .NET:
- Usando o SDK do VisualStudio.Extensibility: a partir do Visual Studio 2022 versão 17.9, o Visual Studio fornece uma nova maneira de criar visualizadores personalizados que oferece, entre outras coisas, instalação de extensão simples e a capacidade de lidar com versões mais recentes do .NET. Esta opção é a API recomendada, exceto nos casos em que o visualizador e o tipo visualizado devem ser fornecidos juntos ou em casos em que é necessário oferecer suporte a uma versão mais antiga do Visual Studio. Para obter mais informações, consulte Criar visualizadores de depurador do Visual Studio.
- Usando Microsoft.VisualStudio.DebuggerVisualizers.DialogDebuggerVisualizer: para obter mais informações sobre essa abordagem, consulte Visualizadores personalizados.
Observação
Para criar um visualizador para objetos C/C++, consulte o elemento UIVisualizer na documentação do Natvis. Veja também a amostra do visualizador personalizado C/C++ ou a amostra do visualizador do depurador nativo SQLite.