Как отменить обратную косую черту в $ {lativeFile} в коде Visual Studio в launch.json? - PullRequest
2 голосов
/ 15 марта 2019

Я пытаюсь настроить (Windows) Visual Studio Code launch.json для запуска jest тестов для текущего файла. Чтобы получить путь, я использую переменную ${relativeFile}, которая дает строку с обратными слешами, такими как "src\services\some-service.spec.ts", хотя в документации косые черты выглядят просто нормально.

Кажется, что jest не принимает этот путь из-за обратной косой черты. Когда я вручную передаю тот же путь с обычными косыми чертами, он работает просто отлично.

Вопрос в том, есть ли способ отменить обратную косую черту в предопределенных переменных пути VSCode, таких как ${relativeFile} или, возможно, некоторые обходные пути?

1 Ответ

0 голосов
/ 26 июня 2019

Кажется, что jest не планирует работать с \, а vscode не планирует предоставлять функции для замены символов в предопределенных переменных.

Но есть некоторые обходные пути:

  1. используйте ${fileBasename} вместо ${relativeFile}

  2. Или используйте входные переменные , чтобы vscode предлагал ввести имя пользовательского теста, когда выdebug.

Вот пример launch.json для двух вышеупомянутых обходных путей.

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Jest Current FileBaseName",
      "type": "node",
      "request": "launch",
      "args": [
        "node_modules/jest/bin/jest.js",
        "--runInBand",
        "${fileBasename}"
      ],
      "console": "integratedTerminal",
      "internalConsoleOptions": "neverOpen",
      "cwd": "${workspaceRoot}"
    },
    {
      "name": "Jest Custom",
      "type": "node",
      "request": "launch",
      "args": [
        "node_modules/jest/bin/jest.js",
        "--runInBand",
        "${input:testName}"
      ],
      "console": "integratedTerminal",
      "internalConsoleOptions": "neverOpen",
      "cwd": "${workspaceRoot}"
    }
  ],
  "inputs": [
    {
      "type": "promptString",
      "id": "testName",
      "description": "The file or name you want to test",
      "default": "${fileBaseName}"
    }
  ]
}
...