Javascript 摩纳哥编辑器:更新插入文本上的光标位置

Javascript 摩纳哥编辑器:更新插入文本上的光标位置,javascript,typescript,monaco-editor,Javascript,Typescript,Monaco Editor,我正在使用摩纳哥编辑器外的按钮(即“hello world”)向其添加一些文本,然后尝试将光标位置设置到下一行 我试着从编辑器中使用“setPosition({column:x,lineNumber:y})”函数,但它不起作用 我就是这样实施的: insertInPosition(textToInsert:string, cursorPosition:any){ this.editorInstance.setPosition(cursorPosition); var allIns

我正在使用摩纳哥编辑器外的按钮(即“hello world”)向其添加一些文本,然后尝试将光标位置设置到下一行

我试着从编辑器中使用“setPosition({column:x,lineNumber:y})”函数,但它不起作用

我就是这样实施的:

insertInPosition(textToInsert:string, cursorPosition:any){
    this.editorInstance.setPosition(cursorPosition);
    var allInstructions = this.instructionSet.split("\n")
    allInstructions.splice(cursorPosition.lineNumber - 1, 0, textToInsert);
    allInstructions.splice(cursorPosition.lineNumber, 1);
    allInstructions = allInstructions.join("\n");
    this.editorInstance.setPosition(cursorPosition);
}
我希望在cursorPosition定义的行和列中看到光标,但实际上我看到光标指向第1行和第1列(在编辑器顶部)

我还尝试在
onDidChangeModelContent()
方法中使用相同的api
editor.setPosition()
,但它不起作用。当我在控制台中打印
编辑器.getPosition()
时,我会收到正确的位置

你知道哪里有问题吗?

试试这个:

editor.executeEdits("", [{
    range: {
        startLineNumber: editor.getPosition().lineNumber, 
        startColumn: editor.getPosition().column,
        endLineNumber: editor.getPosition().lineNumber, 
        endColumn: editor.getPosition().column
    },
    text: "hello world\n",
    forceMoveMarkers: true
}]);
这将在给定位置插入
“hello world\n”
,但不会将光标移动到该位置,至少在我的机器上是这样。