From 0821cddcaa7e8551b302c878d1b6609b6b430fdb Mon Sep 17 00:00:00 2001 From: Smit Chaudhary Date: Sun, 4 Jan 2026 23:24:25 +0530 Subject: [PATCH] keymap_editor: Allow to open the keymap.json with a keybinding (#45987) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Just like #43747 added the keybinding(s) for `settings.json`, added them here for keymaps and added the tooltip to show those. Screenshot 2026-01-04 at 2  47@2x Release Notes: - keymap editor: Added the ability to open the `keymap.json` file with a keybinding. --------- Co-authored-by: Danilo Leal --- assets/keymaps/default-linux.json | 1 + assets/keymaps/default-macos.json | 1 + assets/keymaps/default-windows.json | 1 + crates/keymap_editor/src/keymap_editor.rs | 4 ++++ 4 files changed, 7 insertions(+) diff --git a/assets/keymaps/default-linux.json b/assets/keymaps/default-linux.json index e9016ec8270f32829e7c2b4b6526082a4f58a288..83b2939746a3c2c8e09c8f86f4b40817b085884f 100644 --- a/assets/keymaps/default-linux.json +++ b/assets/keymaps/default-linux.json @@ -1209,6 +1209,7 @@ "ctrl-c": "keymap_editor::CopyAction", "ctrl-shift-c": "keymap_editor::CopyContext", "ctrl-t": "keymap_editor::ShowMatchingKeybinds", + "ctrl-e": "zed::OpenKeymapFile", }, }, { diff --git a/assets/keymaps/default-macos.json b/assets/keymaps/default-macos.json index 7ec882dbfd432927e059650626036fee2041f73b..867dbc3b6f71119f57d3b27ae9d840026213c52e 100644 --- a/assets/keymaps/default-macos.json +++ b/assets/keymaps/default-macos.json @@ -1310,6 +1310,7 @@ "cmd-c": "keymap_editor::CopyAction", "cmd-shift-c": "keymap_editor::CopyContext", "cmd-t": "keymap_editor::ShowMatchingKeybinds", + "cmd-e": "zed::OpenKeymapFile", }, }, { diff --git a/assets/keymaps/default-windows.json b/assets/keymaps/default-windows.json index 4cf24f56ec53f9c31a7a9fc907f6abcdbf85da7a..6fa1f73343da6238f065865ff33816834158abc7 100644 --- a/assets/keymaps/default-windows.json +++ b/assets/keymaps/default-windows.json @@ -1237,6 +1237,7 @@ "ctrl-c": "keymap_editor::CopyAction", "ctrl-shift-c": "keymap_editor::CopyContext", "ctrl-t": "keymap_editor::ShowMatchingKeybinds", + "ctrl-e": "zed::OpenKeymapFile", }, }, { diff --git a/crates/keymap_editor/src/keymap_editor.rs b/crates/keymap_editor/src/keymap_editor.rs index 6f3521877e1384e46aed81c94294177620eba04b..160d32ce5cd118f49c2353cf85bcb4ebad8325b0 100644 --- a/crates/keymap_editor/src/keymap_editor.rs +++ b/crates/keymap_editor/src/keymap_editor.rs @@ -1872,6 +1872,10 @@ impl Render for KeymapEditor { .child( Button::new("edit-in-json", "Edit in JSON") .style(ButtonStyle::Subtle) + .key_binding( + ui::KeyBinding::for_action_in(&zed_actions::OpenKeymapFile, &focus_handle, cx) + .map(|kb| kb.size(rems_from_px(10.))), + ) .on_click(|_, window, cx| { window.dispatch_action( zed_actions::OpenKeymapFile.boxed_clone(),