diff --git a/client/common/useKeyDownHandlers.js b/client/common/useKeyDownHandlers.js
index dbe2ee06bb..6152508813 100644
--- a/client/common/useKeyDownHandlers.js
+++ b/client/common/useKeyDownHandlers.js
@@ -41,6 +41,9 @@ export default function useKeyDownHandlers(keyHandlers) {
} else if (isCtrl && e.altKey && e.code === 'KeyN') {
// specifically for creating a new file
handlers.current[`ctrl-alt-n`]?.(e);
+ } else if (isCtrl && e.altKey && e.code === 'KeyF') {
+ // specifically for creating a new folder
+ handlers.current[`ctrl-alt-f`]?.(e);
} else if (isCtrl) {
handlers.current[`ctrl-${e.key.toLowerCase()}`]?.(e);
}
diff --git a/client/modules/IDE/components/Header/Nav.jsx b/client/modules/IDE/components/Header/Nav.jsx
index f40e9137bf..4098ab3c7b 100644
--- a/client/modules/IDE/components/Header/Nav.jsx
+++ b/client/modules/IDE/components/Header/Nav.jsx
@@ -139,6 +139,8 @@ const ProjectMenu = () => {
metaKey === 'Ctrl' ? `${metaKeyName}+H` : `${metaKeyName}+⌥+F`;
const newFileCommand =
metaKey === 'Ctrl' ? `${metaKeyName}+Alt+N` : `${metaKeyName}+⌥+N`;
+ const newFolderCommand =
+ metaKey === 'Ctrl' ? `${metaKeyName}+Alt+F` : `${metaKeyName}+⌥+F`;
return (
@@ -230,6 +232,7 @@ const ProjectMenu = () => {
dispatch(newFolder(rootFile.id))}>
{t('Nav.Sketch.AddFolder')}
+ {newFolderCommand}
dispatch(startSketch())}>
{t('Nav.Sketch.Run')}
diff --git a/client/modules/IDE/components/Header/__snapshots__/Nav.unit.test.jsx.snap b/client/modules/IDE/components/Header/__snapshots__/Nav.unit.test.jsx.snap
index 290528582a..317526fcd7 100644
--- a/client/modules/IDE/components/Header/__snapshots__/Nav.unit.test.jsx.snap
+++ b/client/modules/IDE/components/Header/__snapshots__/Nav.unit.test.jsx.snap
@@ -653,6 +653,11 @@ exports[`Nav renders editor version for desktop 1`] = `
role="menuitem"
>
Add Folder
+
+ Ctrl+Alt+F
+
- {
e.stopPropagation();
dispatch(newFile(rootFile.id));
},
+ 'ctrl-alt-f': (e) => {
+ e.preventDefault();
+ e.stopPropagation();
+ dispatch(newFolder(rootFile.id));
+ },
'ctrl-`': (e) => {
e.preventDefault();
dispatch(consoleIsExpanded ? collapseConsole() : expandConsole());
diff --git a/client/modules/IDE/components/KeyboardShortcutModal.jsx b/client/modules/IDE/components/KeyboardShortcutModal.jsx
index fbca28a572..4f16ef4e0e 100644
--- a/client/modules/IDE/components/KeyboardShortcutModal.jsx
+++ b/client/modules/IDE/components/KeyboardShortcutModal.jsx
@@ -8,6 +8,8 @@ function KeyboardShortcutModal() {
metaKey === 'Ctrl' ? `${metaKeyName} + H` : `${metaKeyName} + ⌥ + F`;
const newFileCommand =
metaKey === 'Ctrl' ? `${metaKeyName} + Alt + N` : `${metaKeyName} + ⌥ + N`;
+ const newFolderCommand =
+ metaKey === 'Ctrl' ? `${metaKeyName} + Alt + F` : `${metaKeyName} + ⌥ + F`;
return (
@@ -75,6 +77,10 @@ function KeyboardShortcutModal() {
{newFileCommand}
{t('KeyboardShortcuts.CodeEditing.CreateNewFile')}
+
-
+ {newFolderCommand}
+ {t('KeyboardShortcuts.CodeEditing.CreateNewFolder')}
+
General
diff --git a/translations/locales/en-US/translations.json b/translations/locales/en-US/translations.json
index 0f46c59c14..798c22a252 100644
--- a/translations/locales/en-US/translations.json
+++ b/translations/locales/en-US/translations.json
@@ -228,7 +228,8 @@
"FindPreviousTextMatch": "Find Previous Text Match",
"CodeEditing": "Code Editing",
"ColorPicker": "Show Inline Color Picker",
- "CreateNewFile": "Create New File"
+ "CreateNewFile": "Create New File",
+ "CreateNewFolder": "Create New Folder"
},
"General": {
"StartSketch": "Start Sketch",