1. 程式人生 > 其它 >VS-Code 配置C++環境

VS-Code 配置C++環境

建立.vscode資料夾

在資料夾下配置如下4個檔案

1.launch.json

 1 { //laumch.json
 2     "version": "0.2.0",
 3     "configurations": [
 4         {
 5             "name": "(gdb) Launch",
 6             "type": "cppdbg",
 7             "request": "launch",
 8             "program": "${fileDirname}/${fileBasenameNoExtension}.exe
", 9 "args": [], 10 "stopAtEntry": false, 11 "cwd": "${workspaceFolder}", 12 "externalConsole": false, //強調一下,我習慣用vscode自帶的終端,所以你不習慣可以改為true 13 "MIMode": "gdb", 14 "miDebuggerPath": "C:\\Program Files (x86)\\mingw-w64\\i686-8.1.0-posix-dwarf-rt_v6-rev0\\mingw32\\bin\\gdb.exe
",// 指定偵錯程式所在路徑,如果你的minGW裝在別的地方,則要改成你自己的路徑,注意間隔是\\ 15 "setupCommands": [ 16 { 17 "description": "Enable pretty-printing for gdb", 18 "text": "-enable-pretty-printing", 19 "ignoreFailures": true 20 }
21 ], 22 "preLaunchTask": "Build" 23 } 24 ]

2.tasks.json

{  //tasks.json
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Build",
            "command": "g++",
            "args": [
                "-g",
                "-Wall",
                "-std=c++11",
                "-lm",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}.exe"
            ],
            "presentation": {
                "reveal": "always",
                "echo": true,
                "focus": true,
                "panel": "new" //每次執行這個task時都新建一個終端面板,也可以設定為shared,共用一個面板,不過那樣會出現‘任務將被終端重用’的提示,比較煩人
            },
            "problemMatcher": {
                "owner": "cpp",
                "fileLocation": "absolute",
                "pattern": {
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            }
        },

        {
            "label": "Run",
            "type": "shell",
            "dependsOn": "Build",
            "command": "${fileDirname}/${fileBasenameNoExtension}.exe",
            "args": [],
            "presentation": {
                "reveal": "always",
                "focus": true
            },
            "problemMatcher": [],
            "group": {
                "kind": "test",
                "isDefault": true
            }
        }
    ]
}

3.settings.json

{ //settings.json
    "files.associations": {
        "*.m": "matlab",
        "iostream": "cpp",
        "new": "cpp",
        "deque": "cpp",
        "string": "cpp",
        "vector": "cpp",
        "array": "cpp",
        "queue": "cpp",
        "forward_list": "cpp",
        "list": "cpp",
        "string_view": "cpp",
        "ostream": "cpp",
        "fstream": "cpp",
        "future": "cpp",
        "shared_mutex": "cpp",
        "sstream": "cpp",
        "thread": "cpp",
        "*.tcc": "cpp",
        "unordered_map": "cpp",
        "unordered_set": "cpp",
        "memory": "cpp",
        "optional": "cpp",
        "istream": "cpp",
        "streambuf": "cpp",
        "functional": "cpp",
        "regex": "cpp",
        "tuple": "cpp",
        "valarray": "cpp",
        "random": "cpp",
        "atomic": "cpp",
        "bitset": "cpp",
        "cctype": "cpp",
        "cfenv": "cpp",
        "charconv": "cpp",
        "chrono": "cpp",
        "cinttypes": "cpp",
        "clocale": "cpp",
        "cmath": "cpp",
        "codecvt": "cpp",
        "complex": "cpp",
        "condition_variable": "cpp",
        "csetjmp": "cpp",
        "csignal": "cpp",
        "cstdarg": "cpp",
        "cstddef": "cpp",
        "cstdint": "cpp",
        "cstdio": "cpp",
        "cstdlib": "cpp",
        "cstring": "cpp",
        "ctime": "cpp",
        "cuchar": "cpp",
        "cwchar": "cpp",
        "cwctype": "cpp",
        "exception": "cpp",
        "algorithm": "cpp",
        "iterator": "cpp",
        "map": "cpp",
        "memory_resource": "cpp",
        "numeric": "cpp",
        "ratio": "cpp",
        "set": "cpp",
        "system_error": "cpp",
        "type_traits": "cpp",
        "utility": "cpp",
        "initializer_list": "cpp",
        "iomanip": "cpp",
        "iosfwd": "cpp",
        "limits": "cpp",
        "mutex": "cpp",
        "scoped_allocator": "cpp",
        "stdexcept": "cpp",
        "typeindex": "cpp",
        "typeinfo": "cpp"
    }
    
}

4.c_cpp_properties.json

{ //c_cpp_properties.json
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceRoot}",
                "C:/Program Files (x86)/mingw-w64/i686-8.1.0-posix-dwarf-rt_v6-rev0/mingw32/lib/gcc/i686-w64-mingw32/8.1.0/include/c++",
                "C:/Program Files (x86)/mingw-w64/i686-8.1.0-posix-dwarf-rt_v6-rev0/mingw32/lib/gcc/i686-w64-mingw32/8.1.0/include/c++/i686-w64-mingw32",
                "C:/Program Files (x86)/mingw-w64/i686-8.1.0-posix-dwarf-rt_v6-rev0/mingw32/lib/gcc/i686-w64-mingw32/8.1.0/include/c++/backward",
                "C:/Program Files (x86)/mingw-w64/i686-8.1.0-posix-dwarf-rt_v6-rev0/mingw32/lib/gcc/i686-w64-mingw32/8.1.0/include",
                "C:/Program Files (x86)/mingw-w64/i686-8.1.0-posix-dwarf-rt_v6-rev0/mingw32/lib/gcc/i686-w64-mingw32/8.1.0/include/c++/tr1",
                "C:/Program Files (x86)/mingw-w64/i686-8.1.0-posix-dwarf-rt_v6-rev0/mingw32/lib/gcc/i686-w64-mingw32/8.1.0/include"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "__GNUC__=6",
                "__cdecl=__attribute__((__cdecl__))"
            ],
            "intelliSenseMode": "gcc-x64",
            "browse": {
                "path": [
                    "${workspaceRoot}",
                    "C:/Program Files (x86)/mingw-w64/i686-8.1.0-posix-dwarf-rt_v6-rev0/mingw32/lib/gcc/i686-w64-mingw32/8.1.0/include/c++",
                    "C:/Program Files (x86)/mingw-w64/i686-8.1.0-posix-dwarf-rt_v6-rev0/mingw32/lib/gcc/i686-w64-mingw32/8.1.0/include/c++/i686-w64-mingw32",
                    "C:/Program Files (x86)/mingw-w64/i686-8.1.0-posix-dwarf-rt_v6-rev0/mingw32/lib/gcc/i686-w64-mingw32/8.1.0/include/c++/backward",
                    "C:/Program Files (x86)/mingw-w64/i686-8.1.0-posix-dwarf-rt_v6-rev0/mingw32/lib/gcc/i686-w64-mingw32/8.1.0/include",
                    "C:/Program Files (x86)/mingw-w64/i686-8.1.0-posix-dwarf-rt_v6-rev0/mingw32/lib/gcc/i686-w64-mingw32/8.1.0/include/c++/tr1",
                    "C:/Program Files (x86)/mingw-w64/i686-8.1.0-posix-dwarf-rt_v6-rev0/mingw32/lib/gcc/i686-w64-mingw32/8.1.0/include"
                ]
            },
            "limitSymbolsToIncludedHeaders": true,
            "databaseFilename": "",
            "compilerPath": "C:\\Program Files (x86)\\mingw-w64\\i686-8.1.0-posix-dwarf-rt_v6-rev0\\mingw32\\bin\\gcc.exe",
            "cStandard": "gnu17",
            "cppStandard": "gnu++14"
        }
    ],
    "version": 4
}