You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode中如何将launch.json的输入变量传递到tasks.json无需二次输入

VSCode launch.json输入变量共享到tasks.json的实现方法

可以实现该需求,无需用户重复输入相同内容,以下是两种通用可行方案:

方案1:公共input配置抽离到工作区设置

VSCode 1.57及以上版本支持将通用输入变量定义放到.vscode/settings.json中,launch.json和tasks.json可直接共享调用,全程仅触发一次输入弹窗:

  1. 打开工作区的.vscode/settings.json文件,新增如下配置:
{
  "launch.inputs": [
    {
      "id": "file_no",
      "type": "promptString",
      "description": "请输入文件编号"
    }
  ]
}
  1. 删掉launch.json中原有的inputs字段,保留${input:file_no}的引用即可
  2. tasks.json中直接使用${input:file_no}即可正常读取同一输入值,无需额外定义

方案2:通过环境变量传递输入值

如果你不想修改全局配置,也可以在launch配置中将输入值写入环境变量,tasks.json直接读取对应环境变量即可:

  1. 修改launch.json的启动配置,新增env字段传递输入值:
"configurations": [
  {
    ...
    "args": ["${input:file_no}"],
    "preLaunchTask": "runPreTasks",
    "env": {
      "FILE_NO": "${input:file_no}"
    },
    ...
  }
],
// 原有inputs配置无需修改
"inputs": [
  {
    "id": "file_no",
    "type": "promptString"
  }
]
  1. 修改tasks.json的参数,读取环境变量:
{
  "version": "2.0.0",
  "tasks":[
    {
      "label": "runPreTasks",
      "type": "shell",
      "command": "sh",
      "args": [
        "/path2script/scriptName.sh",
        "${env:FILE_NO}"
      ]
    }
  ]
}

注意事项

注意检查launch配置中preLaunchTask的拼写,你的示例中误写为preLanuchTask,拼写错误会导致预启动任务不生效。

内容的提问来源于stack exchange,提问作者Dr.PB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 04:18:03