visual-studio-code - 如何将输入变量从launch.json传递到vscode中的tasks.json
问题描述
我可以使用来自in 的输入变量。launch.json
launch.json
"configurations": [
{
...
"args": [${input:file_no}]
"preLanuchTask": "runPreTasks"
...
}
],
"inputs": [
{
"id": "file_no",
"type": "promptString"
}
]
现在,我想在不再次输入输入的情况下访问同一个变量tasks.json
。
{
"version": "2.0.0",
"tasks":[
{
"label": "runPreTasks",
"type": "shell",
"command": sh,
"args": [
"/path2script/scriptName.sh",
"${input:file_no}" // This does not work, without defining input again
]
}
]
}
launch.json
有没有办法tasks.json
在 vscode中传递输入变量?
解决方案
您可以使用扩展命令变量v1.21.0
它有一个与promptString 变量extension.commandvariable.promptStringRemember
行为相同的命令。${input:name}
通过添加key
属性,结果将保存在此键下,您可以使用extension.commandvariable.rememberPick
命令检索它。
该extension.commandvariable.rememberPick
命令可用于与extension.commandvariable.promptStringRemember
命令不同的任务/启动
{
"version": "2.0.0",
"tasks": [
{
"label": "Task 1",
"type": "shell",
"command": "dostuff1",
"args": ["-p", "${input:promptPath}"]
},
{
"label": "Task 2",
"type": "shell",
"command": "dostuff2",
"args": ["-p", "${input:rememberPath}"]
},
{
"label": "Do Task 1 and 2",
"dependsOrder": "sequence",
"dependsOn": ["Task 1", "Task 2"],
"problemMatcher": []
}
],
"inputs": [
{
"id": "promptPath",
"type": "command",
"command": "extension.commandvariable.promptStringRemember",
"args": {
"key": "path",
"description": "Enter a path"
}
},
{
"id": "rememberPath",
"type": "command",
"command": "extension.commandvariable.rememberPick",
"args": { "key": "path" }
}
]
}
推荐阅读
- java - Java- pdfBox 是否可以选择打开文件而不是加载文件?
- php - 未捕获的错误:在布尔值上调用成员函数 get_result()
- javascript - 获取php成功输出的ajax返回值为true或false
- spline - 样条拟合数据如何预测特定值
- r - 在 R Shiny 中上传用户选择的目录
- hybris - Hybris 从一个 cmssite 重定向到另一个 cmssite
- python - 如何找到跨越微时间单位的时间序列的周期性?
- css - 为什么我的 CSS 捕捉点没有生效?
- c# - C# - 如何使用控制台应用程序将数据从 SQL 表插入 Excel 模板
- c# - 如何使用 web api 在请求标头中添加 api 密钥