Вызов пользовательского ввода в задачах из расширения - PullRequest
0 голосов
/ 23 января 2020

Я создал расширение для расширения возможностей ввода в конфигурации задач. Я хотел бы знать, возможно ли в моем расширении, что я интерпретирую другие входные данные и вызываю их. Как я могу сделать внутри моего расширения, если я вижу строку в аргументах типа ${input:myInput}, я бы хотел получить / вызвать все, что пользователь настроил для этого ввода.

Пример: первая конфигурация ввода содержит Конфигурация из моего расширения, где он будет запускать кошку и теоретически зависит от второго ввода, что пользователь просто выберет один из вариантов. Я хотел бы знать, как проанализировать ${input:myInput} и вызвать его для замены.

"inputs": [
    {
      "id": "inputTest",
      "type": "command",
      "command": "shellCommand.execute",
      "args": {
          "command": "cat ${input:myInput}",
      }
    },
    {
            "id": "myInput",
            "description": "Choose a file",
            "type": "pickString",
            "options": [
                "file1.txt",
                "file2.txt"
            ]
        }
  ]

1 Ответ

0 голосов
/ 24 января 2020

Насколько я понимаю, VS C будет расширять переменные, если значением является строка или массив строк.

Сделать свойство args массивом строк.

"inputs": [
    {
      "id": "inputTest",
      "type": "command",
      "command": "shellCommand.execute",
      "args": ["cat", "${input:myInput}"]
    },
    {
        "id": "myInput",
        "description": "Choose a file",
        "type": "pickString",
        "options": [
            "file1.txt",
            "file2.txt"
        ]
    }
  ]

Вы можете добавить специальный синтаксис к элементам массива, если вы хотите передать команде дополнительные параметры. Например

"args": ["cat", "${input:myInput}", "--XX--", "option1", "option2"]
...