以下是我的tasks.json
:
{
"version": "0.1.0",
"tasks": [
{
"taskName": "test",
"suppressTaskName": true,
"command": "python",
"args": [
"tests/brewer_tests.py"
],
"isTestCommand": true
}
]
}
我可以使用shift+cmd+alt+b
运行此功能。我也可以使用alt+t
运行它,然后从菜单中选择它。是否可以在该菜单中传递其他参数?例如
你可以将它构建到你的任务中:
{
"version": "0.1.0",
"tasks": [
{
"taskName": "test",
"suppressTaskName": true,
"command": "python",
"args": [
"tests/brewer_tests.py",
$arg1 # would resolve to "ARG1"
],
"isTestCommand": true
}
]
}
或类似的东西?
答案 0 :(得分:9)
到目前为止,我一直使用this answer以来的解决方案,但是由于Visual Studio Code现在有一个official support for task prompts,因此我将其添加为答案。
在task.json文件中,将密钥inputs
添加到tasks
旁边。此项包含具有所有可能参数的数组。请注意,并非每个任务都必须使用所有这些输入。
所有这些输入都有一个id
,您将用它来引用任务中的输入。
现在,在任务中,您只需要在需要参数的地方添加${input:myInputId}
。
示例:
{
"version": "2.0.0",
"tasks": [
{
"label": "Echo param",
"type": "shell",
"command": "echo ${input:param1}",
"problemMatcher": []
},
{
"label": "Echo without param",
"type": "shell",
"command": "echo Hello",
"problemMatcher": []
},
],
"inputs": [
{
"id": "param1",
"description": "Param1:",
"default": "Hello",
"type": "promptString"
},
]
}
任务Echo param
将打开一个提示,您可以输入一个字符串值,然后打印该值。任务Echo without param
只会打印“ Hello”。
答案 1 :(得分:4)
这是目前对我有用的-使用它来运行带有自定义参数的golang
代码段。
如果为此添加键盘映射,则过程非常简单。
到目前为止,仅在Windows下对此进行了测试-出于这个原因,Linux版本已被注释掉
{
"label": "runwithargs",
"type": "shell",
"windows": {
"options": {
"shell": {
"executable": "powershell.exe",
"args": [
"-NoProfile",
"-ExecutionPolicy",
"Bypass",
"-Command"
]
}
},
"command": "",
"args": [
{ "value": "$cmdargs = read-host 'Enter command line arguments';", "quoting": "weak"},
{ "value": "go run ${file} $cmdargs", "quoting": "weak"}
]
},
/*"linux": {
"command": "echo 'Enter command line arguments: '; read cmdargs;",
"args": [ "go run ${file} $cmdargs" ]
},*/
"presentation": {
"panel": "dedicated",
"focus": true
}
}
答案 2 :(得分:4)
关于Input variables,VSCode 1.43 (Feb. 2020)添加了一项新功能:
提示字符串密码输入
“
promptString
”类型“input
”可以具有"password": true
,将导致显示的快速输入使输入的内容(如密码)模糊