Skip to content

Debugger: debug-locators don't appear to actually work in extensions #33040

Closed
@csmulhern

Description

@csmulhern

Summary

I've defined a very simple extension following the instructions in https://zed.dev/docs/extensions/debugger-extensions.

# extensions.toml

id = "bazel"
name = "Bazel"
version = "0.1.0"
schema_version = 1
authors = ["Cameron Mulhern <[email protected]>"]
description = "Bazel support for Zed"

[debug-locators.bazel]
// src/lib.rs

struct Bazel {}

impl Extension for Bazel {
    fn new() -> Bazel {
        return Bazel {};
    }

    fn dap_locator_create_scenario(
        &mut self,
        locator_name: String,
        build_task: TaskTemplate,
        resolved_label: String,
        debug_adapter_name: String
    ) -> Option<DebugScenario> {
        // ...
    }

    fn run_dap_locator(&mut self, _locator_name: String, _build_task: TaskTemplate) -> Result<DebugRequest, String> {
        // ... 
    }
}

zed::register_extension!(Bazel);

As far as I can tell dap_locator_create_scenario is never called when e.g. opening the debug spawn panel from the debugger panel. I'm having a very hard time debugging extensions in general, as I can't seem to get any sort of logging to show up anywhere either.

If I'm doing something wrong, then some confirmation that these sorts of extensions are actually supported would be great. And some improvements to the documentation would be much appreciated.

Zed Version and System Specs

Zed: v0.191.5 (Zed)
OS: macOS 15.5.0
Memory: 32 GiB
Architecture: aarch64

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions