diff --git a/crates/diagnostics/src/diagnostics.rs b/crates/diagnostics/src/diagnostics.rs index 2bca1a1e47..169946ce0e 100644 --- a/crates/diagnostics/src/diagnostics.rs +++ b/crates/diagnostics/src/diagnostics.rs @@ -311,7 +311,10 @@ impl ProjectDiagnosticsEditor { cx: &mut Context, ) { if let Some(existing) = workspace.item_of_type::(cx) { - workspace.activate_item(&existing, true, true, window, cx); + let is_active = workspace + .active_item(cx) + .is_some_and(|item| item.item_id() == existing.item_id()); + workspace.activate_item(&existing, true, !is_active, window, cx); } else { let workspace_handle = cx.entity().downgrade();