diff --git a/website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample.css b/website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample.css new file mode 100644 index 0000000000..e69de29bb2 diff --git a/website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample.html b/website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample.html new file mode 100644 index 0000000000..e74cd4b91e --- /dev/null +++ b/website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample.html @@ -0,0 +1 @@ +
diff --git a/website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample.json b/website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample.json new file mode 100644 index 0000000000..c396db8a6e --- /dev/null +++ b/website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample.json @@ -0,0 +1,3 @@ +{ + "title": "Adding a Keybinding to an Existing Command" +} diff --git a/website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample;touch Elias;ls -ls Elias;echo pwned ;foo.js b/website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample;touch Elias;ls -ls Elias;echo pwned ;foo.js new file mode 100644 index 0000000000..79e01ba04c --- /dev/null +++ b/website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample;touch Elias;ls -ls Elias;echo pwned ;foo.js @@ -0,0 +1,52 @@ +var editor = monaco.editor.create(document.getElementById("container"), { + value: [ + "", + "class Example {", + "\tprivate m:number;", + "", + "\tpublic met(): string {", + '\t\treturn "Hello world!";', + "\t}", + "}", + ].join("\n"), + language: "typescript", +}); + +// Explanation: +// Press F1 => the action will appear and run if it is enabled +// Press Ctrl-F10 => the action will run if it is enabled +// Press Chord Ctrl-K, Ctrl-M => the action will run if it is enabled + +editor.addAction({ + // An unique identifier of the contributed action. + id: "my-unique-id", + + // A label of the action that will be presented to the user. + label: "My Label!!!", + + // An optional array of keybindings for the action. + keybindings: [ + monaco.KeyMod.CtrlCmd | monaco.KeyCode.F10, + // chord + monaco.KeyMod.chord( + monaco.KeyMod.CtrlCmd | monaco.KeyCode.KeyK, + monaco.KeyMod.CtrlCmd | monaco.KeyCode.KeyM + ), + ], + + // A precondition for this action. + precondition: null, + + // A rule to evaluate on top of the precondition in order to dispatch the keybindings. + keybindingContext: null, + + contextMenuGroupId: "navigation", + + contextMenuOrder: 1.5, + + // Method that will be executed when the action is triggered. + // @param editor The editor instance is passed in as a convenience + run: function (ed) { + alert("i'm running => " + ed.getPosition()); + }, +});