visual studio simbolo puntos punto puede pero ningun modo interrupción interrupcion establecidos establecer enlazados encuentra depurar como codigo cargado aun aplicacion actualmente activará c# visual-studio debuggervisualizer

c# - simbolo - punto de interrupcion visual studio 2017



Cómo especificar el orden de los visualizadores del depurador en Visual Studio (3)

No creo que haya una solución. Pero hay una solución:

Defina su propio Text Visualizer y coloque el atributo DebuggerVisualizer apropiado antes del atributo de su JsonVisualizer . El resultado será que la cadena será legible por defecto y se puede elegir Json Visualizer. Una ventana con un cuadro de texto multilínea no es demasiado trabajo.

Probablemente ni siquiera sea necesario escribir el visualizador. Debería ser posible usar uno interno pero no sé su nombre ( ¿Qué clase se usa para "Text Visualizer"? ).

He estado trabajando en un visualizador de depuración para Visual Studio durante un tiempo y mientras el visualizador real funciona bien. El problema es que siempre se coloca en la parte superior de la lista de visualizadores al examinar una variable que realmente molesta a algunos de los usuarios que prefieren tener el texto como el más alto (ya que el superior también es el predeterminado al abrir VS).

No puedo encontrar ningún soporte para esto en DialogDebuggerVisualizer o DebuggerVisualizerAttribute, que fueron mis primeros pensamientos, así que he estado buscando en SO / MSDN / Google información sobre cómo afectar el orden de los visualizadores (preferiblemente para poner el último en la lista ) pero fue en vano.

A continuación se muestra cómo registro mi visualizador, luego solo muestra un formulario basado en el valor que se visualiza.

using Microsoft.VisualStudio.DebuggerVisualizers; [assembly: System.Diagnostics.DebuggerVisualizer( typeof(Shorthand.VSAddins.JsonVisualizer.JsonVisualizer), typeof(VisualizerObjectSource), Target = typeof(string), Description = "Json Visualizer")] namespace Shorthand.VSAddins.JsonVisualizer { public class JsonVisualizer : DialogDebuggerVisualizer { protected override void Show(IDialogVisualizerService windowService, IVisualizerObjectProvider objectProvider) { var json = objectProvider.GetObject() as string; var form = new VisualizerForm { Json = json }; windowService.ShowDialog(form); } } }

¿Alguien sabe si es posible afectar el orden de los visualizadores o debería simplemente dejarlo?


Siempre aparecerá primero, por diseño. El molde bajo el capó ha encontrado la mejor coincidencia para la variable en la que se refleja.

sin embargo, puedes hacer cualquiera de dos cosas. Puede hacer que el visualizador solo aparezca cuando el aguijón contenga '':'' O puede usar el reflejo para reordenar los visualizadores agregándolos al final de la colección en el orden que desee, y luego retire los originales de la colección. Para este último, lo más probable es que tenga que cambiar la colección de solo lectura a escriturable. A través de la reflexión.

No hay una fuente confiable a la que recurrir que no sea su voluntad de tener éxito.


Supongo que VS ''debajo del capó'' puede distinguir entre tipo de cuerda y tipo de xml con bastante facilidad, pero Xml también es solo una cadena, por lo que una pregunta clave sería ¿cómo dice VS la diferencia entre los dos?

¿Podría diseccionar el visualizador VS XML para ver cómo funciona (incluso si tiene que usar reflector en la DLL para hacerlo, puede ver el método que lo resuelve)