Виртуальная клавиатура в редакторе Монако - PullRequest
1 голос
/ 19 марта 2019

Я новичок в редакторе 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 Ответ

0 голосов
/ 19 марта 2019

я выясняю ответ

       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]);
...