${relativeFileDirname} 未在 tasks.json 中解析

${relativeFileDirname} doesn't resolve in tasks.json

这是我的tasks.json供参考:

{
  "version": "2.0.0",
  "tasks": [
    {
      "type": "cppbuild",
      "label": "build active file with debug",
      "command": "/usr/bin/g++",
      "args": [
        "${file}",
        "-o",
        "${workspaceFolder}/out/${relativeFileDirname}.out",
        "-g"
      ],
      "problemMatcher": ["$gcc"],
      "group": "build",
      "detail": "compiler: /usr/bin/g++"
    },
  ]
}

这是一个演示输出的视频:https://imgur.com/a/tvurtX1

在视频中我正在编译一个文件12-how-to-debug-effectively/main.cpp,根据我的tasks.json,输出文件应该是out/12-how-to-debug-effectively.out,但是由于某些原因变量替换没有工作,我反而得到 out/.out.

任何我可能出错的地方?

cppbuild 不是 type 参数的有效值。

VSC 文档站点上的所有示例都使用 "type": "shell"

当使用"type": "shell"时,我可以看到要执行的命令并且变量填写正确。 (我用了一个1字的子目录mysite)

使用"type": "cppbuild"看不到执行的是哪个命令