1. 程式人生 > 其它 >VsCode配置C++開發環境

VsCode配置C++開發環境

在workspace資料夾下建立一個.vscode資料夾(注意名字一定是.vscode),這是必須的(一般來說,每個資料夾中都會有這麼一個.vscode配置檔案)。
注意:將此資料夾放在常用資料夾頂層,就不需要重複配置了。在.vscode資料夾中,新建兩個(只需兩個)配置檔案,即launch.json、tasks.json。將下列內容複製進去即可:

tasks.json

{
    "version": "2.0.0",
    "tasks": [{
            "label": "g++",
            "command": "g++",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}.exe"
            ],
            "problemMatcher": {
                "owner": "cpp",
                "fileLocation": [
                    "relative",
                    "${workspaceRoot}"
                ],
                "pattern": {
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            },
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

launch.json:

{
    "version": "0.2.0",
    "configurations": [

        {
            "name": "(gdb) Launch",    // 配置名稱,將會在啟動配置的下拉選單中顯示
            "type": "cppdbg",         // 配置型別,這裡只能為cppdbg
            "request": "launch",    // 請求配置型別,可以為launch(啟動)或attach(附加)
            "program": "${fileDirname}/${fileBasenameNoExtension}.exe",// 將要進行除錯的程式的路徑
            "args": [],                // 程式除錯時傳遞給程式的命令列引數,一般設為空即可
            "stopAtEntry": false,     // 設為true時程式將暫停在程式入口處,一般設定為false
            "cwd": "${workspaceRoot}",// 除錯程式時的工作目錄,一般為${workspaceRoot}即程式碼所在目錄
            "environment": [],
            "externalConsole": true,// 除錯時是否顯示控制檯視窗,一般設定為true顯示控制檯
            "MIMode": "gdb",
            "miDebuggerPath": "E:\\MinGW64\\bin\\gdb.exe",// miDebugger的路徑,注意這裡要與MinGw的路徑對應
            "preLaunchTask": "g++",    // 除錯會話開始前執行的任務,一般為編譯程式,c++為g++, c為gcc
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}