我正在尝试编写一个自定义VSCode视图,该视图的行为类似于调试器的工作方式。这意味着,当您单击活动栏中的视图时,它将要求您设置它是否尚未创建。你怎么做到的?
这是我在package.json中创建视图的方式,
"viewsContainers": {
"activitybar": [
{
"id": "my-view",
"title": "My View",
"icon": "images/my-icon.svg"
}
]
},
"views": {
"my-view": [
{
"id": "child-view-1",
"name": "Child View 1"
},
{
"id": "child-view-2",
"name": "Child View 2"
}
]
},
我的图标显示在活动栏中,单击时会显示我的孩子视图。如何自定义该行为?单击我的图标后,我希望它检查以前是否已设置它,如果没有,请运行我的设置代码。
答案 0 :(得分:0)
在创建树项目时,在对象的命令参数中设置“单击时命令”,如下所示:
new Dependency(moduleName, version, vscode.TreeItemCollapsibleState.None, {
command: 'extension.openPackageOnNpm',
title: '',
arguments: [moduleName]
该点击应调用定义的另一个命令以接受输入并进行相应处理。假定视图具有由树视图类实例化创建的默认项。
这个示例确实帮助我了解了所有设置:
https://github.com/microsoft/vscode-extension-samples/blob/29b21d108d4575003278060faaa3eab0f7374979/tree-view-sample/src/nodeDependencies.ts#L52
此外,此扩展程序还可以很好地利用默认选项填充树状视图,您的用户可以单击以启动环境设置:https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-cosmosdb
如果在您的示例中,尚未设置环境,并且我认为视图列表中没有要单击的对象,则欢迎视图(如下所示)应提供一个选项来获取用户朝着正确的方向移动。 https://code.visualstudio.com/api/extension-guides/tree-view#welcome-content