运行 bundle exec <command> Visual Studio 代码中的任务

Run bundle exec <command> Tasks in Visual Studio Code

按照 this 关于如何为 Rspec 创建任务的教程,在干净的工作环境中效果很好。

但是我安装了 RSpec 的多个版本,任务正确地混淆了使用哪个版本。

所以我想使用下面的命令:

{ "command": "bundle exec rspec" }

虽然失败了,但出现以下错误:

Failed to launch external program bundle exec rspec .
spawn bundle exec rspec ENOENT

如何定义运行 bundle exec rspec 而不是普通 rspec 的(测试)任务?

感谢 this post 中的 Hurelu,他解释了如何使用 tasks.json 中的定义构造 shell 命令,我已经能够定义一个任务文件可以 运行 rspec 和 cucumber,使用 bundle 的 exec:

{
  "command": "bundle",
  "args": ["exec"],
  "tasks": [
    {
      "suppressTaskName": true,
      "taskName": "rspec",
      "args": [ "rspec", "${file}" ],
      "isTestCommand": true
    },
    {
      "suppressTaskName": true,
      "taskName": "cucumber",
      "args": [ "cucumber", "${file}" ]
    }
  ]
}

RSpec是测试命令,所以你可以使用Cmd+Shift+T/Ctrl+Shift+t来运行当前文件作为RSpec测试。

编码愉快!