Как настроить средство сопоставления проблем VSCode с ошибками gcc в стиле Linux

#visual-studio-code #mingw-w64

#visual-studio-code #mingw-w64

Вопрос:

Я использую VSCode в Windows 7 с установленным MSYS2 mingw-w64-x86_64-gcc base-devel .

У меня есть tasks.json для моего проекта запущенная make команда для сборки:

 {
    "tasks": [
        {
            "type": "shell",
            "label": "build",
            "command": "make",
            "options": {
                "cwd": "${workspaceFolder}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ],
    "version": "2.0.0"
}
  

Проблема в том, что GCC генерирует сообщение об ошибке следующим образом:

 src/src_file.cpp:773:59: error: comparison of integer expressions of different signedness
  

в то время как путь к проекту, сохраненный в $workspaceFolder переменной, равен D:myproject .

Реальный путь к файлу D:myprojecttoolssrcsrc_file.cpp . Я понятия не имею, как настроить средство сопоставления проблем в этом случае. Я полагаю, что косые черты в стиле Linux влияют на проблему, но я не уверен. Я попытался настроить regexp средство сопоставления, однако не смог заставить его работать.

Обновить:

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

Ответ №1:

Используйте это средство сопоставления проблем, используйте $gcc в качестве базы и определите местоположение файла

   "problemMatcher": {
    "base": "$gcc",
    "fileLocation": ["relative", "${workspaceFolder}/tools"]
  }
  

Редактировать

Удалено src , потому что оно уже является частью сообщения об ошибке. (Не обнаружил его)