Код VS не может открыть файлы на вкладке «ПРОБЛЕМЫ», потому что путь плохо составлен - PullRequest
2 голосов
/ 31 января 2020

Я занимаюсь разработкой на C ++ с использованием кода Visual Studio, и я заметил, что, когда сборка программы заканчивается неудачей, я не могу быстро получить доступ к строке ошибки, отображаемой на вкладке «ПРОБЛЕМЫ», нажав на нее, потому что VS Код пытается прочитать файл по неправильному пути, а затем думает, что файл не существует. Пример ниже:

Example

Как видите, VS Code всегда ищет файл в $ {workspaceFolder} / $ { workspaceFolder} / , где он должен быть в $ {workspaceFolder} / . Есть ли какая-либо область конфигурации, где я могу проверить и исправить это?

Вот мои c_cpp_properties. json:

{
"configurations": [
    {
        "name": "Win32",
        "includePath": [
            "${workspaceFolder}/**",
            "C:/SFML-2.5.1/include"
        ],
        "defines": [
            "_DEBUG",
            "UNICODE",
            "_UNICODE"
        ],
        "compilerPath": "C:\\MinGW\\bin\\g++.exe",
        "cStandard": "c11",
        "cppStandard": "c++17",
        "intelliSenseMode": "clang-x86",
        "browse": {
            "path": [
                "C:/SFML/SFML-2.5.1/include"
            ]
        }
    }
],
"version": 4
}

Вот задача сборки в заданий. json:

{
"version": "2.0.0",
"tasks": [
    {
        "type": "shell",
        "label": "Build BASIC Debug",
        "command": "C:\\MinGW\\bin\\g++.exe",
        "args": [
            "-g",
            "${workspaceFolder}\\mainBASIC.cpp",
            "-o",
            "${workspaceFolder}\\bin-debug\\DaniHash_BASIC 1.0.3d.exe",
            "-IC:\\SFML-2.5.1\\include",
            "-LC:\\SFML-2.5.1\\lib",
            "-lsfml-graphics-d",
            "-lsfml-window-d",
            "-lsfml-system-d",
        ],
        "options": {
            "cwd": "C:\\MinGW\\bin"
        },
        "problemMatcher": [
            "$gcc"
        ],
        "group": "build"
    }
}

1 Ответ

1 голос
/ 31 января 2020

Я обнаружил, что это поведение связано с полем problemMatcher задач . json. Добавление свойства для автоматического определения местоположения файла устраняет проблему:

"problemMatcher": [
    {
        "base":"$gcc",
        "fileLocation": ["autoDetect", "${workspaceFolder}"]
    }
],

Ссылка: https://code.visualstudio.com/docs/editor/tasks

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...