diff --git a/crates/debugger_ui/src/new_session_modal.rs b/crates/debugger_ui/src/new_session_modal.rs index 516ca7edfa..d774575169 100644 --- a/crates/debugger_ui/src/new_session_modal.rs +++ b/crates/debugger_ui/src/new_session_modal.rs @@ -197,6 +197,11 @@ impl NewSessionModal { let workspace = self.workspace.clone(); let weak = cx.weak_entity(); let last_profile = self.last_selected_profile_name.clone(); + let worktree = workspace + .update(cx, |this, cx| { + this.project().read(cx).visible_worktrees(cx).next() + }) + .unwrap_or_default(); DropdownMenu::new( "debug-config-menu", last_profile.unwrap_or_else(|| SELECT_SCENARIO_LABEL.clone()), @@ -250,7 +255,9 @@ impl NewSessionModal { .task_inventory() .iter() .flat_map(|task_inventory| { - task_inventory.read(cx).list_debug_scenarios(None) + task_inventory.read(cx).list_debug_scenarios( + worktree.as_ref().map(|worktree| worktree.read(cx).id()), + ) }) .collect() }) diff --git a/crates/project/src/task_inventory.rs b/crates/project/src/task_inventory.rs index a93b8f9037..efeb447b6a 100644 --- a/crates/project/src/task_inventory.rs +++ b/crates/project/src/task_inventory.rs @@ -555,6 +555,7 @@ impl Inventory { }); } }; + let new_templates = raw_tasks.into_iter().filter_map(|raw_template| { serde_json::from_value::(raw_template).log_err() }); diff --git a/crates/task/src/debug_format.rs b/crates/task/src/debug_format.rs index 129db722c9..f25243df87 100644 --- a/crates/task/src/debug_format.rs +++ b/crates/task/src/debug_format.rs @@ -59,6 +59,7 @@ pub struct LaunchRequest { /// The program that you trying to debug pub program: String, /// The current working directory of your project + #[serde(default)] pub cwd: Option, /// Arguments to pass to a debuggee #[serde(default)] @@ -155,6 +156,7 @@ pub struct DebugScenario { /// Name of the debug task pub label: SharedString, /// A task to run prior to spawning the debuggee. + #[serde(default)] pub build: Option, #[serde(flatten)] pub request: Option,