在VS Code中配置C/C++

之前因爲學了一點html,所以下了一個VS Code來寫html代碼。

今天要寫C++的代碼,以前都是用VS寫的。但是突然想了一下既然都裝了VS Code,爲啥不配置一下。配置好了後以後寫C/C++代碼也不用打開繁重的VS了。而且VS Code還能加很多插件。

說幹就幹,上網找了資料,終於配置好了。還是有蠻多坑的,主要是因爲網上的教程大部分版本比較老了。所以我來寫個教程,方便別人和以後自己在別的電腦上配置。我總結出以下幾步:

1. 下載MinGW-w64並配置系統變量

  • MinGW是是將經典的開源 C語言 編譯器 GCC 移植到了 Windows 平臺下,並且包含了 Win32API ,因此可以將源代碼編譯爲可在 Windows 中運行的可執行程序。

  • 但是MinGW的很早就停止維護了,版本很老了。

  • MinGW-w64相當於升級版的MinGW,是一個開源項目,不斷在更新維護着。

  • 下載鏈接,劃到最下面,選擇“MinGW-W64 GCC-8.1.0”下的“x86_64-win32-seh”進行下載。

  • 下載好後,解壓到自己想要的位置。然後將其中的bin路徑配置到系統變量中。

  • 打開cmd,輸入gcc --version和gdb --version,彈出版本信息就說明這一步完成了。

2. 下載插件C/C++,Code Runner

  • 在VS Code中下載即可。

3. 配置文件

  • 新建一個項目文件夾,在下面建立一個.vscode文件夾,下面建立三個文件,launch.json,tasks.json,c_cpp_properties.json,然後依次把我的代碼複製進去。注意代碼中的“(改爲自己的路徑)”

  • lauch.json

{
  "version": "0.2.0",
  "configurations": [
  	{
  		"name": "C++ Launch (GDB)",                
  		"type": "cppdbg",                         
  		"request": "launch",                        
  		"targetArchitecture": "x86",                
  		"program": "${workspaceRoot}\\${fileBasenameNoExtension}.exe",                 
  		"miDebuggerPath":"D:\\app\\mingw64\\bin\\gdb.exe",  (改爲自己的路徑)
  		"args": [],     
  		"stopAtEntry": false,                  
  		"cwd": "${workspaceRoot}",                  
  		"externalConsole": true,                  
  		"preLaunchTask": "D:/app/mingw64/bin/g++.exe"  (改爲自己的路徑)          
  		}
  ]
}
  • tasks.json
{
    "version": "2.0.0",
    "command": "D:/app/mingw64/bin/g++.exe",  (改爲自己的路徑)
    "args": ["-g","-std=c++11","${file}","-o","${workspaceRoot}\\${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
        }
    },
    "tasks": [
        {
            "label": "D:/app/mingw64/bin/g++.exe",  (改爲自己的路徑)
            "command": "D:/app/mingw64/bin/g++.exe",  (改爲自己的路徑)
            "args": [
                "-g",
                "-std=c++11",
                "${file}",
                "-o",
                "${workspaceRoot}\\${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": {
                "_id": "build",
                "isDefault": false
            }
        }
    ]
}
  • c_cpp_properties.json
{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceRoot}",
                "D:/app/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++",  (改爲自己的路徑)
                "D:/app/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32",  (改爲自己的路徑)
                "D:/app/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward",  (改爲自己的路徑)
                "D:/app/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/",  (改爲自己的路徑)
                "D:/app/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include//c++/tr1",  (改爲自己的路徑)
                "D:/app/mingw64/x86_64-w64-mingw32/include"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "__GNUC__=6",
                "__cdecl=__attribute__((__cdecl__))"
            ],
            "intelliSenseMode": "msvc-x64",
            "browse": {
                "path": [
                    "${workspaceRoot}",
                    "D:/app/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++",  (改爲自己的路徑)
                    "D:/app/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32",  (改爲自己的路徑)
                    "D:/app/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward",  (改爲自己的路徑)
                    "D:/app/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/",  (改爲自己的路徑)
                    "D:/app/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include//c++/tr1",  (改爲自己的路徑)
                    "D:/app/mingw64/x86_64-w64-mingw32/include"  (改爲自己的路徑)
                ]
            },
            "compilerPath": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\VC\\Tools\\MSVC\\14.36.32532\\bin\\Hostx64\\x64\\cl.exe",
            "cStandard": "c17",
            "cppStandard": "c++17"
        }
    ],
    "version": 4
}
  • 在項目文件夾中新建cpp文件,隨便寫一個程序。然後F5調試。

  • 如果能輸出正確結果就沒問題。如果不能,比如std或者cout報錯的話,就打開設置,在"C/C++"中找到C_Cpp:intelli Sense Engine,將默認的“Default”改爲“Tag Parser”。

  • 此時按F5就可以正常實現調試功能了。

  • 其實如果你不用調試的話,直接Ctrl + F5用Code Runner跑代碼就行了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章