是否可以在不更改光标位置的情况下更新 Ace Editor 中的值?

Is it possible to update the value inside the Ace Editor without changing the position of the cursor?

我想做后台工作者之类的事情。它应该自动更新一些代码(在与光标不同的地方)而不将光标移动到最后更改的单词。 editor.session.replace 或 .insert?

是否可行

一种方法是,存储当前光标位置,插入数据并将光标位置设置为初始点。

//Get the Current Positon
var currentPosition = editor.selection.getCursor();

//Insert data into the editor
editor.setValue(data);
editor.clearSelection();

//Set the cursor to the Initial Point
editor.gotoLine(currentPosition.row, currentPosition.column);