На моей Linux-виртуальной машине я установил докер-контейнер для сборки и отладки моего проекта C ++ против кода через соединение ssh.Строительные работы внутри контейнера, а также запуск и отладка с точками останова.Я застрял на том, как перенаправить стандартный вывод на вкладки «Вывод» и «Проблемы», чтобы я мог видеть предупреждения, сгенерированные из сборки, а затем перейти к соответствующим файлам.Вместо этого он просто выводит сборку в окно терминала.
Проект находится в томе докера в расположении:
/ var / snap / docker / common / var-lib-docker / volume / vol-tom-2 / _data / My-Project
И внутри контейнера он находится в:
/ home / buildmaster / workspace /My-Project
Для отладки я изменил файл launch.json так, чтобы при установке точек останова он сопоставлял файлы в проекте с файлами в контейнере, добавив следующую строку:
"sourceFileMap": {
"/home/user/workspace": "/var/snap/docker/common/var-lib-docker/volumes/vol-tom-2/_data/"
},
Я хотел бы найти что-то похожее в tasks.json, чтобы оно могло синхронизировать мой локальный проект с кодом и предупреждениями и ошибками, генерируемыми при сборке внутри контейнера.
Ниже приведен мой файл tasks.json, заранее спасибо, если кто-нибудь знает, как решить эту проблему!
{
"version": "2.0.0",
"command": "/bin/sh",
"args": ["-c"],
"reveal": "always",
"tasks": [
{
"args": [
"user@localhost",
"-p",
"32772",
"/home/build-scripts/build-script.sh"
],
"label": "build",
"command": "ssh",
"problemMatcher": {
"owner": "cpp",
"fileLocation": ["relative", "${workspaceRoot}"],
"pattern": {
"regexp": "^\/host\/(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
},
}
]
}