Предлагать json свойства схемы по условию в автозаполнении кода Visual Studio - PullRequest
0 голосов
/ 19 февраля 2020

Я использую эту часть схемы json в коде Visual Studio для автозаполнения. Я хочу предложить различные свойства в зависимости от значения свойства name . В настоящее время, когда я набираю "name": "Component1" , мне предлагается только testProp1 . Но проблема существует, прежде чем я начну набирать name , он предлагает мне все доступные свойства: name, testProp1, testProp2, testProp3 . Как я мог переписать json схему, чтобы получить только name свойство в предложениях в начале? Я попытался переключить вместо allOf . Это помогает в начале, но после того, как я ввожу "name": "Component1" , нет никаких предложений для testProp1 .

"Component": {
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "name": {
      "type": "string"
    }
  },
  "allOf": [
    {
      "if": {
        "properties": {
          "name": {
            "const": "Component1"
          }
        }
      },
      "then": {
        "properties": {
          "testProp1": {
            "type": "string"
          }
        }
      }
    },
    {
      "if": {
        "properties": {
          "name": {
            "const": "Component2"
          }
        }
      },
      "then": {
        "properties": {
          "testProp2": {
            "type": "string"
          },
          "testProp3": {
            "type": "integer"
          }
        }
      }
    }
  ],
  "required": [
    "name"
  ],
  "title": "Component"
}
...