We should enable users to build their own debugger experience.
By debugger experience, I mean the sets of windows you can get when the debugger is attached to an app.
Visual Studio for example shows the stacktrace, thread, watch window, etc...
.NET already allow to extend the debugging experience in a limited way: we had .ToString(), and [DebuggerDisplay] which allowed to change how we see the object in the watch windows.
Here some debugger experience that any user should be able to easily write:
a table view outgoing HTTP requests on an HTTP Client
Wireshark equivalent at the app level, displaying in a table all the connexions/packets.
A table of FS handles/files locks
A graph display of a graph.
A state machine viewer.
A form to add an entry in a list.
A button to clear the content of a list.
@LPeter1997 suggested to look how Unity allow to extend the editor:
Unity has a way to extend its editor
With new kinds of windows, exposing properties, color pickers, graph editors, ...
It's all interactive too, refreshing at runtime
It's definitely one starting point for such a thing
In my initial idea I thought we should rely on HTML/CSS for the rendering of theses components.
A neat D3.js equivalent in .NET would allow to easily build an UI for the 'experience'.
We should enable users to build their own debugger experience.
By debugger experience, I mean the sets of windows you can get when the debugger is attached to an app.
Visual Studio for example shows the stacktrace, thread, watch window, etc...
.NET already allow to extend the debugging experience in a limited way: we had .ToString(), and [DebuggerDisplay] which allowed to change how we see the object in the watch windows.
Here some debugger experience that any user should be able to easily write:
@LPeter1997 suggested to look how Unity allow to extend the editor:
In my initial idea I thought we should rely on HTML/CSS for the rendering of theses components.
A neat D3.js equivalent in .NET would allow to easily build an UI for the 'experience'.