How do I insert text into a Monaco Editor?
Using the executeEdits API
var line = editor.getPosition();
var range = new monaco.Range(line.lineNumber, 1, line.lineNumber, 1);
var id = { major: 1, minor: 1 };
var text = "FOO";
var op = {identifier: id, range: range, text: text, forceMoveMarkers: true};
editor.executeEdits("my-source", [op]);
A more robust solution would be to use the Selection API instead of Position
var selection = editor.getSelection();
var id = { major: 1, minor: 1 };
var text = "XXX";
var op = {identifier: id, range: selection, text: text, forceMoveMarkers: true};
editor.executeEdits("my-source", [op]);
If there is already a pre-selected text in the editor, the insert will replace it, which is in my opinion, the correct behavior.