VsCode扩展。如何右键单击选择树形视图项目

时间:2018-10-13 20:50:23

标签: visual-studio-code vscode-extensions

我正在写一个VsCode扩展名。当用户右键单击树视图中的项目时,他将获得弹出命令,该命令的操作将应用于先前选择的项目。在VsCode本身中,情况并非如此。例如,对新文件进行RightCliking,会将文件添加到当前突出显示的文件夹(不是所选文件夹)。如何在扩展程序中复制此行为?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。 注册右键单击运行的命令时,添加一个参数,即“树节点”。通过菜单弹出窗口调用命令时,该树节点将是突出显示的节点,而不是选定的节点。 例如,替换代码

commands.registerCommand('myExtension.myCommand', () => this.command());

及以后:

command() {
}

commands.registerCommand('myExtension.myCommand', command(), this);

及以后:

command(node: TreeNode) {
    if (node) {
    } 
}

如果可以从其他上下文(如按钮)调用命令,则if (node)是必需的,在这种情况下,node将是undefined