如標題,被這個問題整了好長時間了,調試的時候如果有語法錯誤只能顯示相應的的行數,沒有辦法定位到出錯的行數上。(由于用處不是很大并且沒有找到解決辦法,所以就一直放著沒管23333)
直到最近看到一位大佬的解決辦(重寫正則表達式)法不錯,這里分享一下:(原地址戳我)
這是原來的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"
}
重寫21行,引號內替換如下內容
^(.*)\\\\(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$
然后將21-26行每一行的數值+1
"file": 2,
"line": 3,
"column": 4,
"severity": 5,
"message": 6
順利解決問題~