#javascript #monaco-editor
#javascript #monaco-редактор
Вопрос:
Я новичок в редакторе Monaco и пытаюсь использовать виртуальную клавиатуру и печатать с виртуальной клавиатуры. У вас есть какие-нибудь идеи, как я могу это сделать? Это то, чем я сейчас занимаюсь
var position = editor.getPosition(); // Get current mouse position
var text = editor.getValue(position);
var splitedText=text.split("n");
var lineContent = splitedText[position.lineNumber-1]; // Get selected line content
var textToInsert = character; // text to be inserted
splitedText[position.lineNumber-1] = [lineContent.slice(0, position.column-1), textToInsert, lineContent.slice(position.column-1)].join(''); // Append the text exactly at the selected position (position.column -1)
editor.setValue(splitedText.join("n")); // Save the value back to the Editor
editor.setPosition(position 1);
первый символ будет вставлен правильно, но когда я запускаю следующий символ, он идет перед предыдущим символом. Есть ли какая-нибудь идея исправить это?
Спасибо
Ответ №1:
Я нахожу ответ
var line = editor.getPosition();
var range = new monaco.Range(line.lineNumber, line.column, line.lineNumber, line.column);
var id = { major: 1, minor: 1 };
var text = character ;
var op = {identifier: id, range: range, text: text, forceMoveMarkers: true};
editor.executeEdits("my-source", [op]);