调用打开文本文档时如何禁用切换到资源管理器活动栏?VS代码



我正在为 vscode 创建一个扩展。在某些时候,我需要打开一个文件。我为此使用vscode.workspace.openTextDocument并且它正在工作,但是将活动栏从自定义切换到资源管理器。我想让我的自定义活动栏保持打开状态。我该怎么做?

我尝试关闭除我以外的所有活动栏,搜索一些设置(未找到(,尝试将vscode.commands.executeCommandworkbench.view一起使用,但只有workbenck.view.explorerworkbench.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运行并且没有让资源管理器打开。

我认为这就是决定。希望它能帮助某人。

最新更新