json - 启动配置片段中的变量
问题描述
我的 launch.json 片段有问题。当我使用它时,它会从变量名中丢失${} 。
片段如下所示:
"Robot Framework: Launch selected test": {
"prefix": "Robot Framework: Launch selected test",
"body": [
"{",
" \"type\": \"robotframework-lsp\",",
" \"name\": \"Robot Framework: Launch selected test\",",
" \"request\": \"launch\",",
" \"cwd\": \"${workspaceFolder}\",",
" \"target\": \"${file}\",",
" \"terminal\": \"none\",",
" \"env\": {},",
" \"args\": [\"-t\",\"${selectedText}\"],",
" \"internalConsoleOptions\": \"openOnSessionStart\"",
"}"
],
"description": "Robot Framework: Launch selected test"
}
当我粘贴它时,它看起来像这样:
{
"type": "robotframework-lsp",
"name": "Robot Framework: Launch selected test",
"request": "launch",
"cwd": "workspaceFolder",
"target": "file",
"terminal": "none",
"env": {},
"args": ["-t", "selectedText"],
"internalConsoleOptions": "openOnSessionStart"
}
美元符号和括号在cwd、target和args行中丢失。有什么办法可以防止这种形式发生吗?
解决方案
@rioV8 回答了我的问题。来自 vscode 文档的答案:
要在粘贴的脚本中有一个变量,您需要转义 $variable 名称的“$”,以便片段扩展阶段不会对其进行解析。
"Robot Framework: Launch selected test": {
"prefix": "Robot Framework: Launch selected test",
"body": [
"{",
" \"type\": \"robotframework-lsp\",",
" \"name\": \"Robot Framework: Launch selected test\",",
" \"request\": \"launch\",",
" \"cwd\": \"\\${workspaceFolder}\",",
" \"target\": \"\\${file}\",",
" \"terminal\": \"none\",",
" \"env\": {},",
" \"args\": [\"-t\",\"\\${selectedText}\"],",
" \"internalConsoleOptions\": \"openOnSessionStart\"",
"}"
],
"description": "Robot Framework: Launch selected test"
}
推荐阅读
- python - 使用批处理,如果 Python 脚本关闭,我如何使用批处理使其保持打开状态?
- sql - MS Access查询连续值的最早日期
- android - 无法解决谷歌服务
- jasmine - 如何在茉莉花测试中模拟 RXJS timer()?
- json - 如何使 Swagger 响应正文 json 可折叠?
- swagger - 大摇大摆地相互排斥属性
- c++ - USB gadget - functionfs:如何使用标志 FUNCTIONFS_VIRTUAL_ADDR 访问端点
- html - 组件内的列表滚动不起作用
- amazon-web-services - 将我们的银行应用程序当前的基础设施迁移到 AWS
- jquery - event.target 和 .get() 返回相同的类型,但不是吗?