Add extension based runner / debugger profiles with configuration and proper buttons #27086
Replies: 4 comments
-
notably, I think we are missing the extensibility, and the flexibility features discussed above |
Beta Was this translation helpful? Give feedback.
-
I think that if we add these elements, they should be configurable/hideable, since one of the best parts of ZED imho is that the UI doesn't get in the way with a bunch of features I don't use. For myself, even in those IDE's with the run buttons, I usually prefer to just run things using the terminal. |
Beta Was this translation helpful? Give feedback.
-
Yeah, plugins for build system are useful. For some example, you can check xmake-vscode which XMake is equivalent to "cargo of C/C++" and xmake-vscode is an extension for it. |
Beta Was this translation helpful? Give feedback.
-
Pycharm has this and I use it extensively. Being able to configure the python environment to use for a given run configuration (with support for uv and conda at the least), is also critical, because one often needs to test the same codebase with different environments. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Overview
Before we begin, note that a rudimentary debugger already exists (see PR #13433). This proposal builds upon that foundation.
Context
Many popular IDEs — including IntelliJ Suite, VS Code, and Visual Studio — provide dedicated Run and Debug buttons. Advanced IDEs even allow you to independently switch between target and run profiles while supporting various build systems and languages. Additionally, plugins and extensions can enhance these features by adding more run/debug configurations.
Proposal: Introducing Runners in Zed
I propose that we add similar functionality to Zed by implementing runners. These runners would enable:
Custom Build Configurations:
Use arbitrary build settings to compile or build code before execution.
Pre-build Command Script:
OUTPUT_DIR
variable to facilitate tasks such as:glslc
to compile shader files then to copy the output to the output directory.User Interface Enhancements:

Draw inspiration from CLion's UI for a more intuitive experience when managing runners and debugger profiles.
Interchangeable Runner/Debugger Profiles
Consider the flexibility of IntelliJ's system, where:
Extensibility via Plugins
It would be beneficial if extensions beyond the core language provider could add their own runner and debugger types. For example:
This modularity would empower Zed users to integrate their preferred build systems, greatly enhancing the platform's versatility.
UI
Add UI for selecting target, operation and for running and debugging the project, these would use the language provider and / or plugin to determine behavior of these operations, this allows Zed to integrate itself tightly with build systems, while remaining flexible and open to adding more integrations
Beta Was this translation helpful? Give feedback.
All reactions