2

setValue大概只是设置编辑器的值。当我有一些diff并且我想要一些只是将差异添加到当前值的方法时怎么样?有API这个吗?

4

2 回答 2

0

You can use

editor.session.insert({row, column}, text)
editor.session.remove({start: {row, column}, end:  {row, column}})
editor.session.doc.replace(range, text) 

to apply each edit individually, or you can get value of the editor modify the string, and call setSalue with the modified string.

see https://github.com/ajaxorg/ace/blob/master/lib/ace/document.js#L522

于 2013-08-15T09:20:29.730 回答
0

您可以通过获取会话来更新编辑器的值,然后通过获取编辑器的行和列位置插入到特定位置。

例子:

如果编辑器现在包含“选择”

var text = "abc";
var pos = editor.selection.getCursor();
var session = editor.session;

session.insert({
row: session.getLength(), // or you can use "pos.row"
column: pos.column,
}, " " + text + " ");

编辑器现在将有:“选择 abc”

这将直接更新编辑器中的值。

于 2016-11-14T06:40:21.977 回答