I used the solution from this answer until now, but since Visual Studio Code has now an official support for task prompts I will add it as an answer here.
In your tasks.json file, you add the key inputs
next to your tasks
. This key contains an array with all possible parameters. Note that not every task has to use all of these inputs.
All of these inputs have an id
, which you will use to reference the input in your task.
Now, in the task you only need to add ${input:myInputId}
whereever you need the parameter.
Example:
{
"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"
},
]
}
The task Echo param
will open a prompt, which lets you input a string value and it will then print this value. The task Echo without param
will simply print “Hello”.