Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide an API that allow users to build their own debugger experience. #132

Open
Kuinox opened this issue Dec 13, 2023 · 0 comments
Open

Comments

@Kuinox
Copy link
Member

Kuinox commented Dec 13, 2023

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'.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant