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

VSCode launch.json报错‘Inputs Property Not Allowed’的解决求助

VSCode 1.84.2中launch.json配置inputs报错“Inputs Property Not Allowed”的解决方法

问题背景

用C++开发ROS2节点时,试图在VSCode的launch.json中配置inputs属性,实现调试会话启动时通过下拉菜单选择不同节点的动态调试设置,但VSCode 1.84.2版本提示报错“Inputs Property Not Allowed”,确认JSON格式无误且官方文档标注inputs为合法属性,仍无法解决。

报错信息

[{
    "resource": "/home/robot/vision_servo/.vscode/launch.json",
    "owner": "_generated_diagnostic_collection_name_#1",
    "severity": 4,
    "message": "Inputs Property Not Allowed",
    "startLineNumber": 23,
    "startColumn": 7,
    "endLineNumber": 23,
    "endColumn": 15
}]

相关配置片段

{
  // ... 其他配置项 ...
  "inputs": [
    {
      "id": "package",
      "type": "pickString",
      "description": "Package name",
      "options": ["camera_deal", "vision_control", "egm_control"],
      "default": "camera_deal"
    },
    {
      "id": "program",
      "type": "pickString",
      "options": ["camera_deal", "vision_control", "egm_control"],
      "default": "camera_deal"
    }
  ]
  // ... 其他配置项 ...
}

原因分析

  1. inputs属性位置错误:这是最常见的原因,inputs必须和configurations数组处于同一层级(即作为launch.json根对象的直接属性),不能嵌套在单个调试配置项内部。
  2. C/C++扩展版本兼容问题:旧版本的C/C++扩展可能未正确支持inputs属性的JSON Schema校验,导致误报。
  3. VSCode缓存或Schema加载问题:VSCode可能未正确加载最新的launch.json Schema,引发错误提示。

解决方案

1. 修正inputs的位置

确保inputs与configurations平级,正确的launch.json结构示例:

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "ROS2 节点调试",
      "type": "cppdbg",
      "request": "launch",
      // 使用input变量动态填充路径
      "program": "${workspaceFolder}/install/${input:package}/lib/${input:package}/${input:program}",
      "args": [],
      "stopAtEntry": false,
      "cwd": "${workspaceFolder}",
      "environment": [],
      "externalConsole": false,
      "MIMode": "gdb",
      "setupCommands": [
        {
          "description": "为gdb启用格式化输出",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        }
      ]
    }
  ],
  // inputs与configurations同级
  "inputs": [
    {
      "id": "package",
      "type": "pickString",
      "description": "Package name",
      "options": ["camera_deal", "vision_control", "egm_control"],
      "default": "camera_deal"
    },
    {
      "id": "program",
      "type": "pickString",
      "options": ["camera_deal", "vision_control", "egm_control"],
      "default": "camera_deal"
    }
  ]
}

2. 更新C/C++扩展

打开VSCode扩展面板,找到**C/C++**扩展(由Microsoft提供),检查并更新到最新版本,旧版本可能存在Schema校验漏洞。

3. 指定launch.json的Schema

在launch.json的根对象中添加Schema指定,强制加载标准的调试配置Schema:

{
  "$schema": "https://json.schemastore.org/launch.json",
  "version": "0.2.0",
  "configurations": [/* ... */],
  "inputs": [/* ... */]
}

4. 重启VSCode

修改配置后重启VSCode,清除编辑器缓存,确保新的配置被正确加载。

内容的提问来源于stack exchange,提问作者explorer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 23:47:34