【问题标题】:Visual Studio Code Task ArgumentVisual Studio Code 任务参数
【发布时间】:2015-10-09 15:25:48
【问题描述】:

我正在尝试在 Visual Studio Code 中创建一些任务来运行我的 go 项目中的所有测试。

我通常使用以下命令在命令行上执行测试:

go test ./...

在 Visual Studio Code 中,我的 tasks.json 如下所示:

{
    "version": "0.1.0",
    "command": "go",

    "tasks": [
        {
            "taskName": "build",
            "isBuildCommand": true
        },
        {
            "taskName": "test",
            "isTestCommand": true,
            "args": ["./..."]
        }
    ]
}

所以构建工作正常(CTRL + SHIFT + B)

但是当我尝试运行测试(CTRL + SHIFT + T)时,会出现以下错误:

go: unknown subcommand "./..."

它似乎省略了“test”参数,但是当我注释掉 args 时,它运行 go test 正常。

有什么想法吗?

【问题讨论】:

  • 看起来它没有得到“测试”参数。你能检查一下实际执行的命令吗?
  • 没有参数它运行“去测试”。有了 args,它就会运行“go ./...”。
  • 我想你需要["test", "./..."]
  • 这是另一个奇怪的事情,按照上面的方法将测试添加到 args 会返回“无法加载包:包测试:找不到包“测试””
  • 反转任务和参数以进行 hack。

标签: go visual-studio-code args


【解决方案1】:

这可能是一个错误


从 v0.8.0 开始的 VSCode 反向参数和任务

这可能是新版本中仍然存在的错误。从 v0.9.1 开始,我还没有机会进行测试。在 0.9.1 之前,至少有一个 hack 通过反转任务来工作,它的 arg 如下例所示:

{
"version": "0.1.0",
"command": "go",

"tasks": [
    {
        "taskName": "build",
        "isBuildCommand": true
    },
    {
        "taskName": "./...",
        "isTestCommand": true,
        "args": ["test"]
    }
  ]
}

很难相信这仍然持续到 v0.8.0,所以可能有一个我还没有发现的首选解决方案。

这里是处理类似问题的先前帖子的链接:

Define multiple tasks in VSCode

向下滚动到我的答案以获得更多解释。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-24
    • 2018-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 2019-01-07
    • 1970-01-01
    相关资源
    最近更新 更多