From 5feb759c20f4a66c06496ac7001b20c937ea69f3 Mon Sep 17 00:00:00 2001 From: "Joseph T. Lyons" Date: Thu, 31 Jul 2025 18:20:35 -0400 Subject: [PATCH] Additions for settings profile selector (#35439) - Added profile selector to `zed > settings` submenu. - Added examples to the `default.json` docs. - Reduced length of the setting description that shows on autocomplete, since it was cutoff in the autocomplete popover. Release Notes: - N/A --- assets/settings/default.json | 21 +++++++++++++++++++-- crates/settings/src/settings_store.rs | 2 +- crates/zed/src/zed/app_menus.rs | 4 ++++ 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/assets/settings/default.json b/assets/settings/default.json index 13f56fae49..4734b5d118 100644 --- a/assets/settings/default.json +++ b/assets/settings/default.json @@ -1878,7 +1878,24 @@ "dock": "bottom", "button": true }, - // Configures any number of settings profiles that are temporarily applied - // when selected from `settings profile selector: toggle`. + // Configures any number of settings profiles that are temporarily applied on + // top of your existing user settings when selected from + // `settings profile selector: toggle`. + // Examples: + // "profiles": { + // "Presenting": { + // "agent_font_size": 20.0, + // "buffer_font_size": 20.0, + // "theme": "One Light", + // "ui_font_size": 20.0 + // }, + // "Python (ty)": { + // "languages": { + // "Python": { + // "language_servers": ["ty"] + // } + // } + // } + // } "profiles": [] } diff --git a/crates/settings/src/settings_store.rs b/crates/settings/src/settings_store.rs index 278dcc4c03..7f6437dac8 100644 --- a/crates/settings/src/settings_store.rs +++ b/crates/settings/src/settings_store.rs @@ -1078,7 +1078,7 @@ impl SettingsStore { "preview": zed_settings_override_ref, "profiles": { "type": "object", - "description": "Configures any number of settings profiles that are temporarily applied when selected from `settings profile selector: toggle`.", + "description": "Configures any number of settings profiles.", "additionalProperties": zed_settings_override_ref } } diff --git a/crates/zed/src/zed/app_menus.rs b/crates/zed/src/zed/app_menus.rs index 78532b10b4..15d5659f03 100644 --- a/crates/zed/src/zed/app_menus.rs +++ b/crates/zed/src/zed/app_menus.rs @@ -24,6 +24,10 @@ pub fn app_menus() -> Vec { zed_actions::OpenDefaultKeymap, ), MenuItem::action("Open Project Settings", super::OpenProjectSettings), + MenuItem::action( + "Select Settings Profile...", + zed_actions::settings_profile_selector::Toggle, + ), MenuItem::action( "Select Theme...", zed_actions::theme_selector::Toggle::default(),