VScode 调试C/C++时出现无法打开“X”: 找不到文件(file:///XXXX) 的解决办法
这个问题折腾了我许久,才发现是tasks.json那边出了问题…
也百度过很多,什么sourceFileMap都试过没啥用,后经一顿摸索,解决了问题
方法1:
这是原来的tasks.json内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | { "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行的正则改成了
1 | ^(.*)\\\\(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$ |
再把下面的file到message的数字全部加一
1 2 3 4 5 | "file": 2, "line": 3, "column": 4, "severity": 5, "message": 6 |
就可以解决了。
方法2:
把18行的
1 | "${workspaceRoot}" |
改成
1 | "\\" |
也可以,这个方法出自https://segmentfault.com/q/1010000009791477
我解决了问题才看到这个方法。。
==============================
正则式 我试了没成 ,我直接改成了"/" 这样就可以了