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

Microsoft Debug Adapter Protocol support #5307

Open
aexvir opened this issue Jul 9, 2022 · 8 comments · May be fixed by #13433
Open

Microsoft Debug Adapter Protocol support #5307

aexvir opened this issue Jul 9, 2022 · 8 comments · May be fixed by #13433
Labels
feature [core label] language An umbrella label for all programming languages syntax behaviors

Comments

@aexvir
Copy link
Contributor

aexvir commented Jul 9, 2022

this might be too early to suggest but is one of the features that makes a simple editor become an essential tool for my workflow
I simply love integrated development environments

you're probably already aware of this, but for those (few) reading this that might not know about this, similar to how lsp provides code intelligence, the folks at microsoft also defined a protocol for letting any tool act as a debugger, which is also what vscode relies in for it's debugging feature; that protocol is the debug adapter protocol, and it's specification can be read on the dap project site

https://microsoft.github.io/debug-adapter-protocol/specification

the biggest advantage of implementing dap support instead of doing it from scratch obviously comes from the fact that vscode already uses it and many language servers implement it as well; so we'd be getting all the debugging features provided by the official development teams and/or the community

is this something that you see zed supporting at some point?
or would you rather defer this to some future plugin framework?

@aexvir aexvir added feature [core label] triage labels Jul 9, 2022
@aexvir aexvir changed the title debug adapter protocol support support debug adapter protocol support Jul 9, 2022
@thraizz
Copy link

thraizz commented Mar 16, 2023

An implementation example can be found looking at the nvim ecosystem, where nvim-dap provides a great example of how debugging can work.

I was really happy to hear Nathan mention it in the changelog podcast at the end of the interview episode, excited about the time when this will be included, and I can get my team members to try zed!

@JosephTLyons JosephTLyons transferred this issue from zed-industries/community Jan 24, 2024
@Anthony-Eid
Copy link
Contributor

Is there anyone that would like to pair up and work on this feature together?

@RemcoSmitsDev
Copy link
Contributor

Is there anyone that would like to pair up and work on this feature together?

If you are still down to work on it, let's do it!

@davidbuzz
Copy link
Contributor

a rust implemention of dap aparently exists here: https://github.com/sztomi/dap-rs

@notpeter notpeter changed the title debug adapter protocol support Microsoft Debug Adapter Protocol support Jun 22, 2024
@notpeter
Copy link
Member

For reference, microsoft has a complete JSON schema defined here: debugAdapterProtocol.json.

I have previously used oxidecomputer/typify to generate Rust types from that schema with some success, might be worth considering.

@RemcoSmitsDev
Copy link
Contributor

@notpeter Thanks for the tip! Didn't know about that one. Got already most of the types in, but it's handy for in the future if I ever have to map a lot of data!

@RemcoSmitsDev
Copy link
Contributor

RemcoSmitsDev commented Jun 23, 2024

For the people that really miss this feature inside Zed, here is a sneak peek about what you already can do 👀👀

Screen.Recording.2024-06-23.at.15.00.23.mov

Basics:

  • Launch debug adapter
  • Set break point
  • step in/over/out/back with UI buttons

@RemcoSmitsDev RemcoSmitsDev linked a pull request Jun 23, 2024 that will close this issue
@notpeter notpeter added the language An umbrella label for all programming languages syntax behaviors label Oct 13, 2024
@SturdyFool10

This comment was marked as spam.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature [core label] language An umbrella label for all programming languages syntax behaviors
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants