Selaa lähdekoodia

Playground: Add keyboard shortcut to run playground code (#1756)

Playground: Add keyboard shortcut to run playground code
Alexandru Dima 5 vuotta sitten
vanhempi
commit
d6a0637288
1 muutettua tiedostoa jossa 19 lisäystä ja 1 poistoa
  1. 19 1
      website/playground/playground.js

+ 19 - 1
website/playground/playground.js

@@ -4,6 +4,7 @@
 
 	'use strict';
 
+	var isMac = /Mac/i.test(navigator.userAgent);
 	window.onload = function () {
 		require(['vs/editor/editor.main'], function () {
 			xhr('playground/monaco.d.ts.txt').then(function (response) {
@@ -157,8 +158,11 @@
 			htmlTab.onclick = function () { changeTab(htmlTab, 'html'); };
 			tabArea.appendChild(htmlTab);
 
-			var runBtn = document.createElement('span');
+			var runLabel = 'Press ' + (isMac ? 'CMD + return' : 'CTRL + Enter') + ' to run the code.';
+			var runBtn = document.createElement('button');
 			runBtn.className = 'action run';
+			runBtn.setAttribute('role', 'button');
+			runBtn.setAttribute('aria-label', runLabel);
 			runBtn.appendChild(document.createTextNode('Run'));
 			runBtn.onclick = function () { run(); };
 			tabArea.appendChild(runBtn);
@@ -307,6 +311,20 @@
 		function run() {
 			doRun(runContainer);
 		}
+
+		editor.addCommand(monaco.KeyMod.CtrlCmd | monaco.KeyCode.Enter, run);
+		window.addEventListener('keydown', function keyDown(ev) {
+			if ((isMac && !ev.metaKey) || !ev.ctrlKey) {
+				return;
+			}
+
+			if (ev.shiftKey || ev.altKey || ev.keyCode !== 13) {
+				return;
+			}
+
+			ev.preventDefault();
+			run();
+		});
 	}
 
 	var runIframe = null, runIframeHeight = 0;