我正在为 vscode 创建一个扩展。在某些时候,我需要打开一个文件。我为此使用vscode.workspace.openTextDocument
并且它正在工作,但是将活动栏从自定义切换到资源管理器。我想让我的自定义活动栏保持打开状态。我该怎么做?
我尝试关闭除我以外的所有活动栏,搜索一些设置(未找到(,尝试将vscode.commands.executeCommand
与workbench.view
一起使用,但只有workbenck.view.explorer
和workbench.view.extensions
。
select(node: json.Node) {
var setting: vscode.Uri = vscode.Uri.parse('file:///home/user/some_file');
vscode.workspace.openTextDocument(setting).then((a: vscode.TextDocument) => {
vscode.window.showTextDocument(a, 1, false).then(e => {
// move to 96 line in the file. Just for example.
let range_n = e.document.lineAt(96).range;
e.selection = new vscode.Selection(range_n.start, range_n.end);
e.revealRange(range_n);
})
}, (error: any) => {
console.error(error);
debugger;
});
}
我希望我的自定义活动栏和必要的文件将在运行 select 后打开。现在文件已打开,但活动栏已切换到资源管理器。
不知道问题究竟是如何解决的,但现在它应该工作。
我可以假设,这里的关键是另一个插件(我们称之为 plugin_2,main - plugin_1(。我还有另一个插件 (plugin_2(,当某个文件打开并将一些结果绘制成大纲时,它会运行,所以很可能,当我plugin_2从资源管理器重新定位到我的自定义活动栏中,并打开一个带有主plugin_1的文件时,plugin_2运行并且没有让资源管理器打开。
我认为这就是决定。希望它能帮助某人。