我正在尝试通过
替换在CodeMirror v3中选择的令牌var obj = editor.getTokenAt(currLine);
var currLine = editor.getCursor(true);
但似乎唯一的选择是
replaceRange
将新字符串和起始位置考虑在内,但是当新字符串比原始字符串更短或更长时,会发生奇怪的事情。
有什么更好的方法呢?
currLinereplace
似乎不适合我。
谢谢!
答案 0 :(得分:3)
var pos = editor.getCursor() // or {line , ch };
var tok = editor.getTokenAt(pos);
editor.replaceRange("string", {line: pos.line , ch:tok.start},{line:pos.line , ch:tok.end});
答案 1 :(得分:0)
我必须显示自定义提示列表才能替换选择时的加入令牌。 用正确的参数调用replaceRange方法不够。它粘贴了新令牌,但是在初始令牌的内部取决于光标位置。如果我们有自定义提示选项,则需要在提示选项中同时指定位置和位置,以使replaceRange正常工作,例如:
JAR's