vscode:用于调试启动配置中的用户输入的命令

时间:2018-01-16 02:41:48

标签: visual-studio-code

我想做一些类似于this documentation中概述的用于选择流程的内容,除了我想能够输入任何字符串:

{
    "name": "Attach to Process",
    "type": "node",
    "request": "attach",
    "processId": "${command:PickProcess}",
    "port": 9229
}

是否有可用于获取任何用户输入的命令?理想情况下,我可以这样做:

{
  "name": "Launch Chrome Debug",
  "type": "chrome",
  "request": "launch",
  "url": "http://localhost:8080/?id=${command:UserInput}",
  "webRoot": "${workspaceRoot}",
}

这样我可以在启动调试器时指定“id”参数。

1 个答案:

答案 0 :(得分:3)

v1.30添加了以下功能:input variables during tasks and debug

  

对于用户输入变量,我们引入了新的变量类别输入,   结果为以下语法:${input:variableName}。这个简单   语法不足以向最终用户呈现有意义的UI,因此   我们在launch.json和task.json中引入了一个新的输入部分,   在其中指定了其他配置属性。

input example

  

以下是受支持的属性的列表:

     

id-这些属性所对应的相应变量名   使用。

     

type-用户输入窗口小部件的类型。在此版本中,提示符为   (对于字符串InputBox)和pickString(对于字符串Quick Pick)是   支持。

     

描述-向用户显示的描述性文本。

     

默认-用户仅按Enter键使用的默认值。

     

第一个示例显示如何在任务中使用用户输入变量   配置(tasks.json):

{
    "tasks": [
        {
            "label": "Echo input",
            "type": "shell",
            "command": "echo ${input:echoPrompt}"
        }
    ],
    "inputs": [
        {
            "id": "echoPrompt",
            "description": "Please enter a value",
            "default": "default echo text",
            "type": "promptString"
        }
    ]
}
  

另一个示例显示了用于在两个之间进行选择的用户输入变量   调试配置(launch.json)中的选项:

{
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Launch Program",
            "program": "${workspaceFolder}/${input:pickProgram}"
        }
    ],
    "inputs": [
        {
            "id": "pickProgram",
            "description": "Select client or server",
            "type": "pickString",
            "options": ["client.js", "server.js"],
            "default": "client.js"
        }
    ]
}
  

我们计划将用户输入变量与现有变量合并   基于命令的变量,以便用户输入变量可以是   由扩展贡献。