gpt4 book ai didi

javascript - Monaco Editor : Update Cursor position on text inserted

转载 作者:行者123 更新时间:2023-12-03 07:16:06 25 4
gpt4 key购买 nike

我正在使用外部按钮(即“hello world”)向 Monaco Editor 添加一些文本,然后尝试将光标位置设置到下一行。

我尝试使用编辑器中的“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 列(在编辑器的顶部)。

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

知道什么可能是错的吗?

最佳答案

this.editor?.trigger('keyboard', 'type', {text: 'value'});
this.editor?.focus();
const position: any = this.editor?.getPosition();
this.editor?.setPosition(position);

关于javascript - Monaco Editor : Update Cursor position on text inserted,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55928045/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com