尝试编写我的第一个VSCode扩展,但我被困在一个简单的问题上。我已经通过类似的东西建立了一个新的选择
var new_sel = new Selection(start, end);
其中start
和end
是vscode.Position
对象。现在我想把它作为一个选择添加到我的文档中,但我很迷茫。我在命令vscode.commands.registerTextEditorCommand
里面,所以我可以访问TextEditor
和TextEditorEdit
对象及其所有字段,但我在 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
。
但是,请注意,试图pop
或push
TextEditor.selections
对我不起作用。