附加(不是插入/替换)文本

时间:2017-09-27 15:37:07

标签: monaco-editor

我试图以编程方式向编辑器添加一些内容。 executeEdits替换给定范围的文本。如何添加/附加文本而不是替换现有文本?也许通过使用Snippet命令可能是解决方案?但不知怎的,我无法找到一个如何做到的例子。任何帮助将不胜感激。

由于

1 个答案:

答案 0 :(得分:1)

好的,我可以自己解决这个问题,感谢github上的其他评论。以下是如何在特定位置附加文本的解决方案:

var position = editor.getPosition(); // Get current mouse position

var text = editor.getValue(position);

var splitedText=text.split("\n"); 

var lineContent = splitedText[position.lineNumber-1]; // Get selected line content

var textToInsert = "<div>"; // text to be inserted

splitedText[position.lineNumber-1] = [lineContent.slice(0, position.column-1), textToInsert , lineContent.slice(position.column-1)].join(''); // Append the text exactly at the selected position (position.column -1)

editor.setValue(splitedText.join("\n")); // Save the value back to the Editor

editor.setPosition(position);