在VSCode中,如何通过API向文档添加新选择?



尝试编写我的第一个VSCode扩展,但我被困在一个简单的问题上。我已经通过类似的东西建立了一个新的选择

var new_sel = new Selection(start, end);

其中startendvscode.Position对象。现在我想把它作为一个选择添加到我的文档中,但我很迷茫。我在命令vscode.commands.registerTextEditorCommand里面,所以我可以访问TextEditorTextEditorEdit对象及其所有字段,但我在 API 中没有看到任何关于从文档中添加/减去选择的内容。

如何添加选择,以便它反映在TextEditor.selections中?(我试图简单地将其推送到该数组,但在控制台中出现"附加调试器"错误。

这是诀窍:

let mySelections: vscode.Selection[] = [];
let line1 = 12, char1 = 5, line2 = 20, char2 = 3;  //Just some examples.
let line3 = 29, char3 = 3, line4 = 26, char4 = 7;  //Just some examples.
mySelections.push(line1, char1, line2, char2);
mySelections.push(line3, char3, line4, char4);
vscode.window.activeTextEditor.selections = mySelections;  

可以简单地覆盖TextEditor.selections

但是,请注意,试图poppushTextEditor.selections对我不起作用。

最新更新