我想在单击treeView项目时打开一个文件(类似于默认资源管理器打开文件的方式(。然而,我一直在实现这个特性。根据我的理解,实现这一点的一种方法是定义TreeItem
类型的command
属性,如下所示。这个链接还说:
当树项在编辑器中打开某些内容时,请使用
vscode.open
或vscode.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)]