From 73b58b05cfb8ab6f732fadfcd04bc7040d29133e Mon Sep 17 00:00:00 2001 From: Nisarg Jasani Date: Thu, 13 Aug 2026 19:59:54 -0400 Subject: [PATCH 1/2] Restore Replace shortcut and document Move Line in shortcuts modal --- .../IDE/components/Editor/utils/keymaps.js | 5 +++-- .../IDE/components/KeyboardShortcutModal.jsx | 20 +++++++++++++++++++ translations/locales/en-US/translations.json | 4 +++- 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/client/modules/IDE/components/Editor/utils/keymaps.js b/client/modules/IDE/components/Editor/utils/keymaps.js index bafe6ae136..bb17d0f753 100644 --- a/client/modules/IDE/components/Editor/utils/keymaps.js +++ b/client/modules/IDE/components/Editor/utils/keymaps.js @@ -13,7 +13,7 @@ import { moveLineDown } from '@codemirror/commands'; import { foldKeymap } from '@codemirror/language'; -import { searchKeymap } from '@codemirror/search'; +import { searchKeymap, openSearchPanel } from '@codemirror/search'; import { expandAbbreviation } from '@emmetio/codemirror6-plugin'; import { tidyCodeWithPrettier } from './tidier'; @@ -87,7 +87,8 @@ export const extraKeymaps = [ { key: 'ArrowRight', run: focusOnReferenceArrow }, indentWithTab, { key: 'Ctrl-Shift-ArrowUp', mac: 'Cmd-Ctrl-ArrowUp', run: moveLineUp }, - { key: 'Ctrl-Shift-ArrowDown', mac: 'Cmd-Ctrl-ArrowDown', run: moveLineDown } + { key: 'Ctrl-Shift-ArrowDown', mac: 'Cmd-Ctrl-ArrowDown', run: moveLineDown }, + { key: 'Ctrl-h', mac: 'Cmd-Alt-f', run: openSearchPanel } ]; export const emmetKeymaps = [{ key: 'Tab', run: expandAbbreviation }]; diff --git a/client/modules/IDE/components/KeyboardShortcutModal.jsx b/client/modules/IDE/components/KeyboardShortcutModal.jsx index 871b41c967..33c725ba7d 100644 --- a/client/modules/IDE/components/KeyboardShortcutModal.jsx +++ b/client/modules/IDE/components/KeyboardShortcutModal.jsx @@ -9,6 +9,14 @@ function KeyboardShortcutModal() { const newFileCommand = metaKey === 'Ctrl' ? `${metaKeyName} + Alt + N` : `${metaKeyName} + ⌥ + N`; const renameCommand = metaKey === 'Ctrl' ? 'F2' : 'Ctrl + F2'; + const moveLineUpCommand = + metaKey === 'Ctrl' + ? `${metaKeyName} + Shift + Up` + : `${metaKeyName} + Ctrl + Up`; + const moveLineDownCommand = + metaKey === 'Ctrl' + ? `${metaKeyName} + Shift + Down` + : `${metaKeyName} + Ctrl + Down`; return (

@@ -80,6 +88,18 @@ function KeyboardShortcutModal() { {renameCommand} {t('KeyboardShortcuts.CodeEditing.RenameVariable')} +
  • + + {moveLineUpCommand} + + {t('KeyboardShortcuts.CodeEditing.MoveLineUp')} +
  • +
  • + + {moveLineDownCommand} + + {t('KeyboardShortcuts.CodeEditing.MoveLineDown')} +
  • {t('KeyboardShortcuts.General')} diff --git a/translations/locales/en-US/translations.json b/translations/locales/en-US/translations.json index ae174ba1f7..f9c7863447 100644 --- a/translations/locales/en-US/translations.json +++ b/translations/locales/en-US/translations.json @@ -269,7 +269,9 @@ "CodeEditing": "Code Editing", "ColorPicker": "Show Inline Color Picker", "CreateNewFile": "Create New File", - "RenameVariable": "Rename Variable" + "RenameVariable": "Rename Variable", + "MoveLineUp": "Move Line Up", + "MoveLineDown": "Move Line Down" }, "General": "General", "GeneralSelection": { From 1f4b9c6d156970d1fa76eac94f2ad1a5e6303168 Mon Sep 17 00:00:00 2001 From: Nisarg Jasani Date: Sun, 30 Aug 2026 15:55:00 -0400 Subject: [PATCH 2/2] Document Find/Replace as a single shortcut in shortcuts modal The dedicated Replace keybinding (Ctrl-h/Cmd-Alt-f) was removed upstream when the custom SearchPanel replaced CodeMirror's built-in search UI; Replace is now a toggle inside the Find panel instead of a separate shortcut. --- client/modules/IDE/components/KeyboardShortcutModal.jsx | 6 ------ translations/locales/en-US/translations.json | 2 +- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/client/modules/IDE/components/KeyboardShortcutModal.jsx b/client/modules/IDE/components/KeyboardShortcutModal.jsx index 33c725ba7d..178c1bc7d4 100644 --- a/client/modules/IDE/components/KeyboardShortcutModal.jsx +++ b/client/modules/IDE/components/KeyboardShortcutModal.jsx @@ -4,8 +4,6 @@ import { metaKeyName, metaKey } from '../../../utils/metaKey'; function KeyboardShortcutModal() { const { t } = useTranslation(); - const replaceCommand = - metaKey === 'Ctrl' ? `${metaKeyName} + H` : `${metaKeyName} + ⌥ + F`; const newFileCommand = metaKey === 'Ctrl' ? `${metaKeyName} + Alt + N` : `${metaKeyName} + ⌥ + N`; const renameCommand = metaKey === 'Ctrl' ? 'F2' : 'Ctrl + F2'; @@ -56,10 +54,6 @@ function KeyboardShortcutModal() { {t('KeyboardShortcuts.CodeEditing.FindPreviousTextMatch')} -
  • - {replaceCommand} - {t('KeyboardShortcuts.CodeEditing.ReplaceTextMatch')} -
  • {metaKeyName} + [ {t('KeyboardShortcuts.CodeEditing.IndentCodeLeft')} diff --git a/translations/locales/en-US/translations.json b/translations/locales/en-US/translations.json index f9c7863447..153f6f34e7 100644 --- a/translations/locales/en-US/translations.json +++ b/translations/locales/en-US/translations.json @@ -257,7 +257,7 @@ "SublimeText": "Sublime Text shortcuts", "CodeEditing": { "Tidy": "Tidy", - "FindText": "Find Text", + "FindText": "Find / Replace Text", "FindNextMatch": "Find Next Match", "FindPrevMatch": "Find Previous Match", "ReplaceTextMatch": "Replace Text Match",