【发布时间】:2020-11-12 05:08:02
【问题描述】:
如何使用 vscode 扩展 api 设置activeTextEditor?
我需要这个的原因是因为我的扩展依赖于对扩展 B 的外部调用,而扩展 B 不接受编辑器的参数。它只是看着vscode.window.activeTextEditor。
我的扩展是一个 webview,当在 webview 上点击某些东西时它会调用 Extension B。在那一刻,“活动标签”是 web 视图,这不是我想要的 activeTextEditor。
我想做类似的事情
vscode.window.activeTextEditor = editor
在我的点击处理程序开始时,但这不起作用,因为activeTextEditor 不是设置器。
我尝试对相关编辑器进行虚假编辑:
function changeFocus(editor: vscode.TextEditor) {
return editor.edit((editBuilder) => {
const pos = new vscode.Position(0, 0);
const nxt = new vscode.Position(0, 1);
editBuilder.insert(pos, "\\");
editBuilder.delete(new vscode.Range(pos, nxt));
});
}
但这不会改变vscode.window.activeTextEditor 变量(它仍然是undefined)。
【问题讨论】:
标签: visual-studio-code vscode-extensions