繁体   English   中英

每次从vscode更改视图时如何获取当前选定的视图 API

[英]How to get the current selected view everytime when view is changed from vscode API

我在进行扩展时在 vscode 中添加了一个新视图。

每次打开此视图时,我都想运行 function。

每次打开此视图或用户进入此视图时,是否有任何 vscode 方法运行 function。

在此处输入图像描述

我认为您正在寻找onDidChangeActiveTextEditor

代码示例

const vscode = require('vscode');

function runFunction() {
  // Your code here
}

vscode.window.onDidChangeActiveTextEditor(event => {
  if (event.document.uri.scheme === 'your-view-scheme') {
    runFunction();
  }
});

如果您的视图是TreeView ,您可以听取它的可见性:

const treeViewVisibilityListener = this.tabView.onDidChangeVisibility(async event => {
    console.log("here");
});
context.subscriptions.push(treeViewVisibilityListener);

event将具有值{visible: true}{visible: false}取决于它是否被打开。 它也适用于视图从活动栏或面板或辅助栏隐藏或取消隐藏的情况 - 取决于用户移动它的位置。

如果您的视图是Webview ,您可以使用相同的.onDidChangeVisibility侦听器。

如果点击/显示的视图不是您的,则这些不会触发。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM