Пользовательский сопоставитель проблем для файлов - PullRequest
0 голосов
/ 14 марта 2019

Я бы хотел сопоставить вывод проблемы из программы с выводом JSON.

У меня есть файл output.json. Формат примерно такой:

  "warnings": [
    {
      "file_location": "abc.hpp",
      "line": 73,
      "msg": "Some warning message"
    }

Я хотел бы показать их в окне проблем.

  1. Как мне прочитать проблемы из файла (нужно ли использовать cat/type?). Кажется, что все примеры для npm watch или аналогичных.

  2. Даже с output.json мои текущие задачи не показывают это.

Я определил следующую задачу:

    {
        "label": "show problems",
        "type": "shell",
        "command": "cat output.json",
        "problemMatcher": {
            "fileLocation": ["relative", "${workspaceFolder}"],
            "pattern": [
                {
                    "regexp": "^\\s*\"file_location\"\\s*:\\s*\"(.+)\",$",
                    "file": 1
                },
                {
                    "regexp": "^\\s*\"line\"\\s*:\\s*(\\d+),$",
                    "line": 1
                },
                {
                    "regexp": "^\\s*\"msg\"\\s*:\\s*(\\d+)$",
                    "message": 1
                }
            ]
        }
    }
...