diff --git a/services/web/app/views/project/editor.pug b/services/web/app/views/project/editor.pug index 0f1920e46a..534ada823a 100644 --- a/services/web/app/views/project/editor.pug +++ b/services/web/app/views/project/editor.pug @@ -98,6 +98,8 @@ block content custom-toggler-pane=hasFeature('custom-togglers') ? "west" : false custom-toggler-msg-when-open=hasFeature('custom-togglers') ? translate("tooltip_hide_filetree") : false custom-toggler-msg-when-closed=hasFeature('custom-togglers') ? translate("tooltip_show_filetree") : false + ng-keydown="handleKeyDown($event)" + tabindex="0" ) .ui-layout-west include ./editor/file-tree-react diff --git a/services/web/frontend/js/ide.js b/services/web/frontend/js/ide.js index 3f9dbe4dff..bae0898d3d 100644 --- a/services/web/frontend/js/ide.js +++ b/services/web/frontend/js/ide.js @@ -314,6 +314,18 @@ If the project has been renamed please look in your project list for a new proje $scope.switchToSideBySideLayout() } + $scope.handleKeyDown = event => { + if (event.shiftKey || event.altKey) { + return + } + + // Ctrl+s or Cmd+s => recompile + if (event.key === 's' && (event.metaKey || event.ctrlKey)) { + event.preventDefault() + $scope.recompileViaKey() + } + } + try { ;({ userAgent } = navigator) ide.browserIsSafari =