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

Visual studio code vscode:用于调试启动配置中用户输入的命令,visual-studio-code,Visual Studio Code,我想做一些类似于中所述的选择流程的事情,只是希望能够输入任何字符串: { "name": "Attach to Process", "type": "node", "request": "attach", "processId": "${command:PickProcess}", "port": 9229 } 是否有一个命令可用于获取任何用户输入?理想情况下,我可以这样做: { "name": "Launch Chrome Debug", "t

我想做一些类似于中所述的选择流程的事情,只是希望能够输入任何字符串:

{
    "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”参数。

v1.30添加了以下功能:

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

以下是支持的属性列表:

id—为其指定这些属性的相应变量名 用过

类型-用户输入小部件的类型。在此版本中,promptString (对于字符串输入框)和pickString(对于字符串快速拾取)是 支持

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

default—如果用户只按Enter键,则使用的默认值

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

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

我们计划将用户输入变量与现有的 基于命令的变量,以便用户输入变量 由扩展提供


这太棒了!谢谢你让我醒过来。这太好了。对于第二个配置,我想知道是否有某种方法可以运行一个任务,保存最后的输入(当使用
promptString
时),然后更新默认输入
{
    "tasks": [
        {
            "label": "Echo input",
            "type": "shell",
            "command": "echo ${input:echoPrompt}"
        }
    ],
    "inputs": [
        {
            "id": "echoPrompt",
            "description": "Please enter a value",
            "default": "default echo text",
            "type": "promptString"
        }
    ]
}
{
    "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"
        }
    ]
}