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

Build and Debug support #5065

Open
1 task done
WeetHet opened this issue Dec 24, 2022 · 57 comments · May be fixed by #13433
Open
1 task done

Build and Debug support #5065

WeetHet opened this issue Dec 24, 2022 · 57 comments · May be fixed by #13433
Labels
editor Feedback for code editing, formatting, editor iterations, etc enhancement [core label]

Comments

@WeetHet
Copy link
Contributor

WeetHet commented Dec 24, 2022

Check for existing issues

  • Completed

Describe the feature

In most of today's code editors there is support for building tasks and debugging/launch support. This gives better reliability on the editor and reduces terminal usage. This is also just so much more comfortable. I think that first LLDB and Python debuggers should be introduced alongside with shell build tasks

If applicable, add mockups / screenshots to help present your vision of the feature

See: VSCode Build/Debug, JetBrains IDE's debug support

@WeetHet WeetHet added enhancement [core label] triage Maintainer needs to classify the issue labels Dec 24, 2022
@JosephTLyons
Copy link
Contributor

Going to group this together with the code runner issue:

@JosephTLyons JosephTLyons added editor Feedback for code editing, formatting, editor iterations, etc and removed triage Maintainer needs to classify the issue labels Jan 2, 2023
@Kethku
Copy link
Contributor

Kethku commented Jan 28, 2023

I looked into vscode's task.json file format and I think we should build support for it. Its general purpose, used frequently today, and handles a lot of corner cases pretty well.

https://code.visualstudio.com/docs/editor/tasks

@WeetHet
Copy link
Contributor Author

WeetHet commented Feb 27, 2023

Speaking of that, shouldn't you also implement debug support? It will help a lot

@luolong
Copy link

luolong commented Mar 12, 2023

I second this feature request.

An ability to run builds either manually or automatically based on some editor events, execute tests (with feedback on test failures) and run arbitrary shell scripts (or code snippets as mentioned in related "Code runner" issue), would be immensly helpful.

@WeetHet
Copy link
Contributor Author

WeetHet commented Mar 14, 2023

I just don't seem to understand why this, essential thing is not even considered by masses (well, we still don't have replace feature, so maybe that says something)

@natsuboy
Copy link

I think build, run, and debug are all core features.

@sonereker
Copy link

Debugging support for especially Go 👍🏼

@WeetHet
Copy link
Contributor Author

WeetHet commented Mar 20, 2023

Maybe we should try to popularise this issue among other people so we would have more support?

@aexvir
Copy link
Contributor

aexvir commented Mar 20, 2023

I'll mention my own issue for this, as it's the oldest one and it already has a bunch of 👍🏻
#5307
it was covering mainly debugging through the support of dap servers, so no mention to building, but everyone who's interested on debugging should probably consolidate its reactions to that one

@sheikalthaf
Copy link

@JosephTLyons this one is very important feature which is required by default. Please Include this also as part of top ranking issues. So that i get attention from other developers also

@hovsater
Copy link
Contributor

hovsater commented Apr 23, 2023

@JosephTLyons this one is very important feature which is required by default. Please Include this also as part of top ranking issues. So that i get attention from other developers also

Top ranking issues are based on number of thumbs up. Currently it’s the top 20 per core-label. This issue will automatically get there when the interest is high enough.

@WeetHet
Copy link
Contributor Author

WeetHet commented Apr 23, 2023

@JosephTLyons this one is very important feature which is required by default. Please Include this also as part of top ranking issues. So that i get attention from other developers also

Top ranking issues are based on number of thumbs up. Currently it’s the top 20 per core-label. This issue will automatically get there when the interest is high enough.

I just don't understand how this is considered just an "enhancement" and not a core feature?

@hovsater
Copy link
Contributor

The label "enhancement" is used both for enhancements/features, so don't read too much into it. 🙂 The best way for the community to signal the importance of a given feature right now is by add your 👍 to the issue.

@WeetHet
Copy link
Contributor Author

WeetHet commented Apr 23, 2023

The label "enhancement" is used both for enhancements/features, so don't read too much into it. 🙂 The best way for the community to signal the importance of a given feature right now is by add your 👍 to the issue.

You can look at the problem this way, but that means that PHP support is more valuable than custom LSP support, which is obviously wrong, because latter is the superset of the former

@jansol
Copy link
Contributor

jansol commented Apr 23, 2023

Some of us just want a fast & sleek code editor with some navigation helpers, not a fully integrated Developer ®️ Experience ™️

Debugger integration might be a key feature for you but for like half of my current projects it's either not useful to begin with or not feasible to set up in any IDE.

@iamnbutler
Copy link
Member

Labels are 100% an organizing mechanic and not a statement of importance or sequencing. Don't read into them too much.

Build & Debug hasn't been built because the team doesn't really use them – When the right combination of people want it, and it makes sense for us to build sequencing-wise compared to other things, it will get built.

@JosephTLyons we might want to consider merging this with #5307 or group them?

@gcdsss
Copy link

gcdsss commented Jul 16, 2023

I'm looking forward to having debug, launch, and task features. Having both VS Code and PyCharm open with multiple projects consumes too much resources and it really slow. 👍

@0xtimsb
Copy link

0xtimsb commented Aug 18, 2023

Where can we track progress for this?

@MilanVilov
Copy link

MilanVilov commented Sep 15, 2023

This would be quite an important feature for everyone working on larger codebases with good specs coverage.
On the current Rails project we have around ~7500 specs, and we use debugger with RubyMine on daily basis, either to actually find the bug or for better understanding of the domain process.
It is one of the most selling points of RubyMine for Ruby/Rails development and probably the main reason I am paying the licence every year, it speeds up the development.

This was also a core functionality of the VisualStudio while I did .Net development and it still is.
For me the main difference between lightweight code editors and the IDE I use for everyday work is high quality debugger.

It would be awesome if a great tool like Zed would have couple of these grade 1 IDE features integrated as part of the core functionality.

@MilanVilov
Copy link

I'm looking forward to having debug, launch, and task features. Having both VS Code and PyCharm open with multiple projects consumes too much resources and it really slow. 👍

I am found myself using Zed + RubyMine couple of times, as I really wanted to migrate to Zed, but lack of debugger is just too big of an issues, so I went back to RubyMine until this is implemented.

@0xtimsb
Copy link

0xtimsb commented Nov 2, 2023

Only build task runner is stopping me from switching to Zed.

@majd-asab
Copy link

Only build task runner is stopping me from switching to Zed.

same, but I'd also love a debugger

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

emil14 commented Jan 29, 2024

This is the reason why I won't switch from VSCode :-(

@jansol
Copy link
Contributor

jansol commented Jan 29, 2024

Since there's a huge influx of new people: issue popularity is being tracked programmatically based on the 👍 reactions to the OP of each issue. (this would probably deserve a pinned notice at the top of the issue tracker)

"me too" comments do not contribute to the popularity count, they only send out unnecessary notifications to a lot of people.

@AllanPinheiroDeLima
Copy link

Debug is extra important for me. Some projects are simply not feasible without a good debugger. I'll 1+ this one and wait. For the time being, is there any other debugger I could use with Zed in NodeJS projects ?

Thank you!

@Varagos
Copy link

Varagos commented Mar 5, 2024

A debugger is currently the only thing holding me from using Zed more actively too.

@artemijan

This comment was marked as off-topic.

@davidbuzz
Copy link
Contributor

PHP / xdebug / dbgp protocol needs to also be a part of this as its the most-popular language by-far for running websites, and it fully supports being debugged.

@ximidas
Copy link

ximidas commented Apr 3, 2024

I'm using Zed for Rust development, and interestingly, I find myself rarely needing a debugger for Rust. However, when I'm working with languages like Python, Ruby, JavaScript, and PHP, a debugger becomes indispensable.

@zieen

This comment was marked as off-topic.

@davidbuzz
Copy link
Contributor

davidbuzz commented Apr 8, 2024

If Zed implemented Debug Adapter Protocol aka "DAP" to match what VSCode has ( as requested on this issue and #5307 ) , then it should be possible to debug in Zed just about anything that can already be debugged in VSCode, including C,C++,php,c#,node, python, javascript, perl, haskel, ie all-the-things listed here:
https://microsoft.github.io/debug-adapter-protocol/implementors/adapters/

here's a rust implemention of DAP as well...: https://github.com/sztomi/dap-rs

@arkxfly

This comment was marked as off-topic.

@jansol
Copy link
Contributor

jansol commented Apr 8, 2024

why rust rarely needing a debugger for Rust?

Serious answer because this gets asked surprisingly often:

Rust's language-level guarantees and generally very insightful compiler error messages mean that it is rare to have to debug something at runtime. When you do, it is often something that is quickly solved by printing the offending statement with dbg!(<problematic statement here>). Also, panics in rust code give you a nice backtrace by default so you don't need a debugger for figuring out where that problematic statement is.

@jnfDev

This comment was marked as off-topic.

@shenshouer

This comment was marked as off-topic.

@Linyuqiz

This comment was marked as off-topic.

@davidbuzz

This comment was marked as off-topic.

@Linyuqiz

This comment was marked as off-topic.

@codingbugss

This comment was marked as spam.

@JustinEcho

This comment was marked as off-topic.

@nervenes

This comment was marked as off-topic.

@jansol
Copy link
Contributor

jansol commented Jun 17, 2024

You can build & run your code via tasks now. Certain setups also have the ability to detect test functions in the code and run them with a button in the gutter. No debugging yet.

@andersonpem

This comment was marked as off-topic.

@panakour
Copy link

panakour commented Aug 5, 2024

There is a draft implementation for debugger here #13433

@casperhart

This comment was marked as off-topic.

@DouFuJuShi

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
editor Feedback for code editing, formatting, editor iterations, etc enhancement [core label]
Projects
None yet
Development

Successfully merging a pull request may close this issue.