VScode 调试C/C++时出现无法打开“X”: 找不到文件(file:///XXXX) 的解决办法

这个问题折腾了我许久,才发现是tasks.json那边出了问题…

也百度过很多,什么sourceFileMap都试过没啥用,后经一顿摸索,解决了问题

方法1:

这是原来的tasks.json内容

{
    "version": "0.1.0",
    "command": "g++",
    "args": [
        "-g",
        "${file}",
        "-o",
        "${fileBasenameNoExtension}.exe",
        "-std=c++11",
        "-Wall",
        "-fno-asm",
        "-DONLINE_JUDGE"
    ], // 编译命令参数
    "problemMatcher": {
        "owner": "cpp",
        "fileLocation": [
            "relative",
            "${workspaceRoot}"
        ],
        "pattern": {
            "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
            "file": 1,
            "line": 2,
            "column": 3,
            "severity": 4,
            "message": 5
        }
    },
    "showOutput": "always"
}

语法高亮没找到json的,选了个js。

我的解决方法是重写正则,把21行的正则改成了

^(.*)\\\\(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$

再把下面的file到message的数字全部加一

"file": 2,
"line": 3,
"column": 4,
"severity": 5,
"message": 6

就可以解决了。

方法2:

把18行的

"${workspaceRoot}"

改成

"\\"

也可以,这个方法出自https://segmentfault.com/q/1010000009791477 

我解决了问题才看到这个方法。。

VScode 调试C/C++时出现无法打开“X”: 找不到文件(file:///XXXX) 的解决办法》上有2条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注