1. 程式人生 > >Mac下 vscode c/c++ 自動編譯配置

Mac下 vscode c/c++ 自動編譯配置

本人mac版本10.12.5 ,vscode版本為 1.13

步驟很簡單,新增好各種與c++有關的外掛後,reload一次,重啟vscode。

在helloworld.cpp所在資料夾下建立.vscode資料夾,在.vscode中建立2個檔案:tasks.json , launch.json

接著是各個檔案的內容:

tasks.json:(編譯配置,也就是用cpp生成a.out的過程)

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "0.1.0",
    "command": "g++",  //command 和 args 組合為編譯c++命令,即 g++ -g xxx.cpp -o a.out
    "isShellCommand": true,
    "args": ["-g","${file}","-o","a.out"],  //${file}代表著任意檔名,代替了helloworld.cpp
    "showOutput": "always",
    "problemMatcher": {  //正則匹配,刪除無用符號
        "owner": "cpp",
        "fileLocation": ["relative", "${workspaceRoot}"],
        "pattern": {
            "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
            "file": 1,
            "line": 2,
            "column": 3,
            "severity": 4,
            "message": 5
        }
    }
}

launch.json:(除錯配置,也就是執行a.out的過程)
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(lldb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceRoot}/a.out", //除錯,也就是執行a.out檔案
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceRoot}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "lldb",
            "preLaunchTask": "g++" //代表執行launch.json前先執行tasks.json中的g++指令
        }
    ]
}


配置完之後,按f5就能對任意在工作目錄下的cpp檔案進行一鍵編譯執行除錯了