[英]VSCode extension: How to programmatically show view container in panel
我正在编写一个 VSCode 扩展,它有一个添加了WebviewView
的视图容器。
"contributes": {
"commands": [
{
"command": "showView",
"title": "Show view"
}
],
"viewsContainers": {
"panel": [
{
"id": "mycontainer",
"title": "My Container",
"icon": "media/app.svg"
}
]
},
"views": {
"mycontainer": [
{
"type": "webview",
"id": "myview",
"name": "MyView"
}
]
}
},
在showView
命令执行中。 我想以编程方式使视图myview
显示在 VSCode UI 中。 怎么做?
VSCode 在每个注册的视图上公开一个focus
命令。
您的示例视图的 ID myview
,因此您想调用myview.focus
命令。
您可以通过打开File->Prefs->Keyboard Shortcuts
并搜索myview
来验证这一点。
要测试该命令,请尝试在您的扩展激活 function 中添加以下内容。 它将在底部状态栏上创建一个可单击的按钮,该按钮将聚焦您的侧边栏视图。
activate = function (workspace) {
const statusBarItem = vscode.window.createStatusBarItem(vscode.StatusBarAlignment.Right, 10);
statusBarItem.command = 'myview.focus';
statusBarItem.text = 'MYVIEW';
statusBarItem.show();
workspace.subscriptions.push(statusBarItem);
}
这些可能有助于webview 示例和webview 查看示例
您可以通过使用视图的id
来关注侧边栏中的视图并执行focus
命令:
vscode.commands.executeCommand("myview.focus")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.