Visual studio code VsCode扩展。如何在右键单击时选择树状视图项目
我正在写一个VsCode扩展。当用户在树状视图中右键单击某个项目时,他将获得弹出命令,其操作将应用于先前选择的项目。在VsCode本身中,情况并非如此。例如,在新文件上右键单击会将一个文件添加到当前高亮显示的文件夹(而不是选定的文件夹)。如何在扩展中复制这种行为?我找到了解决方案。 注册右键单击运行的命令时,添加一个树节点参数。通过弹出菜单调用命令时,此树节点将是高亮显示的节点,而不是选定的节点。 例如,替换代码Visual studio code VsCode扩展。如何在右键单击时选择树状视图项目,visual-studio-code,vscode-extensions,Visual Studio Code,Vscode Extensions,我正在写一个VsCode扩展。当用户在树状视图中右键单击某个项目时,他将获得弹出命令,其操作将应用于先前选择的项目。在VsCode本身中,情况并非如此。例如,在新文件上右键单击会将一个文件添加到当前高亮显示的文件夹(而不是选定的文件夹)。如何在扩展中复制这种行为?我找到了解决方案。 注册右键单击运行的命令时,添加一个树节点参数。通过弹出菜单调用命令时,此树节点将是高亮显示的节点,而不是选定的节点。 例如,替换代码 commands.registerCommand('myExtension.myC
commands.registerCommand('myExtension.myCommand', () => this.command());
后来:
command() {
}
command(node: TreeNode) {
if (node) {
}
}
与
后来:
command() {
}
command(node: TreeNode) {
if (node) {
}
}
如果命令可以从不同的上下文(如按钮)调用,则if(node)
是必需的,在这种情况下节点
将是未定义的
,我找到了解决方案。
注册右键单击运行的命令时,添加一个树节点参数。通过弹出菜单调用命令时,此树节点将是高亮显示的节点,而不是选定的节点。
例如,替换代码
commands.registerCommand('myExtension.myCommand', () => this.command());
后来:
command() {
}
command(node: TreeNode) {
if (node) {
}
}
与
后来:
command() {
}
command(node: TreeNode) {
if (node) {
}
}
如果可以从不同的上下文(如按钮)调用命令,则需要使用if(node)
,在这种情况下,node
将是未定义的