gpt4 book ai didi

node.js - 如何在 launch.json 的 Visual Studio Code 中反转 ${relativeFile} 中的反斜杠?

转载 作者:搜寻专家 更新时间:2023-10-31 23:56:42 25 4
gpt4 key购买 nike

我正在尝试配置 (Windows) Visual Studio Code launch.json 以启动当前文件的 jest 测试。为了获取路径,我使用了 ${relativeFile} 变量,它给出了一个像这样的反斜杠字符串 "src\services\some-service.spec.ts",虽然在documentation斜线看起来很正常。

jest 似乎不接受这种路径,因为反向斜杠。当我用普通斜杠手动传递相同的路径时,它工作得很好。

问题是有什么方法可以在 VSCode 路径预定义变量(如 ${relativeFile})中反转反斜杠,或者可能有一些解决方法?

最佳答案

[更新] 2020-05-01

现在 jest cli 支持选项 --runTestsByPath , 这样您就可以明确指定文件路径而不是模式,这样您就可以在 Windows 上使用 \

所以下面的 launch.json 应该可以工作:

{
"version": "0.2.0",
"configurations": [
{
"name": "Jest Current File",
"type": "node",
"request": "launch",
"args": [
"node_modules/jest/bin/jest.js",
"--runInBand",
"--runTestsByPath",
"${relativeFile}"
],
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"cwd": "${workspaceFolder}"
}
]
}

以下为原答案:


jest 似乎不打算与 \ 一起使用,而 vscode 也不打算提供替换预定义变量中的字符的功能。

但是有一些解决方法:

  1. 使用${fileBasename}代替${relativeFile}

  2. 或者使用input variables以便 vscode 在调试时提示您输入自定义测试名称。

下面是上述两个解决方法的示例 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}"
}
]
}

关于node.js - 如何在 launch.json 的 Visual Studio Code 中反转 ${relativeFile} 中的反斜杠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55190115/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com