VS代码扩展:TreeItem命令属性如何发出vscode.open



我想在单击treeView项目时打开一个文件(类似于默认资源管理器打开文件的方式(。然而,我一直在实现这个特性。根据我的理解,实现这一点的一种方法是定义TreeItem类型的command属性,如下所示。这个链接还说:

当树项在编辑器中打开某些内容时,请使用vscode.openvscode.diff作为命令ID。使用这些命令可以确保生成的编辑器与其他内置树打开编辑器的方式一致。

如图所示,vscode.open接受了一些参数,特别是它需要一个文本文档的uri。我对如何以这种方式将该参数传递给该命令感到非常困惑。我试过了:

class MyTreeItem extends TreeItem {
children: FunctionsTreeItem[]|undefined;
constructor(label: string, filePath: string, children?: FunctionsTreeItem[]) {
super(
label,
children === undefined ? TreeItemCollapsibleState.None :
TreeItemCollapsibleState.Expanded);
this.children = children;

this.command = {
title: "",
command: "vscode.open",
arguments: [{"uri": filePath}]
}

或者将CCD_ 6行修改为仅CCD_。两者都不起作用。我不知道该怎么办。

我终于从他们的一个问题中找到了一个例子。这里的代码给出了一个非常好的例子。

所以,语法就是这样:

arguments: [Uri.file(filePath)]

最新更新