Joe*_*oel 5 visual-studio-code vscode-tasks
我正在尝试创建一个分层任务结构。由于该项目目前有超过 100 个任务,我们需要通过使用“子任务”或inputs 作为其在 VS Code 中的调用来简化其结构,以获得对任务的更多可见性。
考虑这个例子(下面提供的代码):
Run Task -> option(s) --> sub-options
option --> sub-options
Run Code Online (Sandbox Code Playgroud)
我理想中想要的是:
Run "myTask" -> option(s) --> sub-options based on previous
|
|--> sub-options based on previous
|
|--> sub-options based on previous
Run Code Online (Sandbox Code Playgroud)
可以说我选择Run Task -> Option1 -> avaliable sub-options for option1
我想有条件地查看“父母”的选项。
现实世界的场景:
[Build Customer] Task -> CustomerName -> Avaliable products for customer
-> CustomerName2 -> Avaliable products for customer2
Run Code Online (Sandbox Code Playgroud)
任务.json
{
"version": "2.0.0",
"tasks": [
{
"label": "myTask",
"type": "shell",
"command": ".\\AutoBuild.bat",
"options": {
"shell": {
"executable": "powershell.exe"
},
"cwd": "${workspaceFolder}",
},
"args": [
"${input:myArg1}",
"${input:myArg2}"
],
"group": "build",
"problemMatcher": []
}
],
"inputs": [
{
"type": "pickString",
"id":"myArg1",
"options": [
"option1",
"option2",
"option3",
"option4"
],
"description": "myArg1",
"default": ""
},
{
"type": "pickString",
"id":"myArg2",
"description": "myArg2",
"options": [
"sub-option1",
"sub-option2",
"sub-option3",
"sub-option4"
],
"default": ""
},
]
}
Run Code Online (Sandbox Code Playgroud)
这有可能以某种方式实现吗?
欢迎丑陋或概念验证解决方案!
不幸的是,没有像键绑定“何时”这样的扩展的条件属性。解决方法是执行一个可以对输入进行操作的脚本文件。例如:
{
"version": "2.0.0",
"tasks": [
{
"label": "myTask",
"type": "shell",
"command": ".\\AutoBuild.bat",
"args": [
"${input:myArg1}",
"${input:myArg2}"
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
AutoBuild.bat然后将有逻辑来测试和采取行动myArg1和myArg2。
| 归档时间: |
|
| 查看次数: |
2861 次 |
| 最近记录: |