我正在使用位于编辑器外部的按钮(即“hello world”)向Monaco编辑器添加一些文本,然后尝试将光标位置设置为下一行。我尝试使用编辑器中的“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()
,但它不起作用。当我在控制台中打印editor.getPosition()
时,我收到了正确的位置。
对此有什么想法吗?