1. 程式人生 > >vs code 配置c++ complie環境

vs code 配置c++ complie環境

vscode是微軟的最新產品,輕量易用,最初是前端用的多,尤其是typescript,因為vscode的作者也是typescipt作者。一般c++的IDE很多,比如visual studio等,但是都不太好用,所以,這裡,使用vscode,下面講解主要步驟。

  • 安裝vscode。
  • 安裝必要c++外掛。
  • 安裝編譯、除錯環境。
  • 修改vscode配置檔案。
  • 執行
  • 除錯

一、安裝vscode

  vscode是免費的,所以直接下載安裝就好。

二、安裝必要c++外掛

  在vscode左側找到外掛庫,安裝 c/c++ 外掛(必須)、C++ Intellisense(非必須)、Include Autocomplete(非必須)。

三、安裝編譯、除錯環境

  網上找到mingw,直接安裝,只要和本機匹配即可。

  安裝之後,配置環境變數,配置好環境變數,通過g++ xx.cpp -o xx來檢測是否可以用命令列來編譯c++檔案,如果可以,說明安裝成功。

四、修改vscode配置檔案

  即在vscode中開啟資料夾->建立新的資料夾->選中,這樣就直接加入到vscode中了;或者直接把一個檔案拖入vscode中;假設我們新建的資料夾名稱為Foo。

  接著,在這個Foo下建立一個.vscode資料夾,這是必須的(一般來說,每個資料夾中都會有這麼一個.vscode配置檔案)。注意:將此資料夾放在常用資料夾頂層,就不需要重複配置了。

  在.vscode資料夾中,新建三個(只需三個)配置檔案,即c_cpp_properties.json、launch.json、tasks.json。然後內容如下:

  c_cpp_properties.json (注意:每臺電腦裝mingw的位置可能不一樣,根據everything確定!),這個配置檔案指定mingw所在位置,方便vscode自動呼叫:

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceRoot}",
                "C:/mingw/lib/gcc/mingw32/5.3.0/include/c++",
                "C:/mingw/lib/gcc/mingw32/5.3.0/include/c++/mingw32",
                "C:/mingw/lib/gcc/mingw32/5.3.0/include/c++/backward",
                "C:/mingw/lib/gcc/mingw32/5.3.0/include",
                "C:/mingw/lib/gcc/mingw32/5.3.0/include/c++/tr1",
                "C:/mingw/mingw32/include"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "__GNUC__=6",
                "__cdecl=__attribute__((__cdecl__))"
            ],
            "intelliSenseMode": "msvc-x64",
            "browse": {
                "path": [
                    "${workspaceRoot}",
                    "C:/mingw/lib/gcc/mingw32/5.3.0/include/c++",
                    "C:/mingw/lib/gcc/mingw32/5.3.0/include/c++/mingw32",
                    "C:/mingw/lib/gcc/mingw32/5.3.0/include/c++/backward",
                    "C:/mingw/lib/gcc/mingw32/5.3.0/include",
                    "C:/mingw/lib/gcc/mingw32/5.3.0/include/c++/tr1",
                    "C:/mingw/mingw32/include"
                ]
            },
            "limitSymbolsToIncludedHeaders": true,
            "databaseFilename": ""
        }
    ],
    "version": 3
}

launch.json檔案(注意:其中的miDebuggerPath可能也是不一樣的,需要注意):

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C++ Launch (GDB)", // 配置名稱,將會在啟動配置的下拉選單中顯示
            "type": "cppdbg", // 配置型別,這裡只能為cppdbg
            "request": "launch", // 請求配置型別,可以為launch(啟動)或attach(附加)
            "targetArchitecture": "x86", // 生成目標架構,一般為x86或x64,可以為x86, arm, arm64, mips, x64, amd64, x86_64
            "program": "${file}.exe", // 將要進行除錯的程式的路徑
            "miDebuggerPath": "c:\\MinGW\\bin\\gdb.exe", // miDebugger的路徑,注意這裡要與MinGw的路徑對應
            "args": [
                "blackkitty",
                "1221",
                "# #"
            ], // 程式除錯時傳遞給程式的命令列引數,一般設為空即可
            "stopAtEntry": false, // 設為true時程式將暫停在程式入口處,一般設定為false
            "cwd": "${workspaceRoot}", // 除錯程式時的工作目錄,一般為${workspaceRoot}即程式碼所在目錄
            "externalConsole": true, // 除錯時是否顯示控制檯視窗,一般設定為true顯示控制檯
            "preLaunchTask": "g++" // 除錯會話開始前執行的任務,一般為編譯程式,c++為g++, c為gcc
        }
    ]
}

 tasks.json(這個所有都一樣,無需個性化修改):

{
    "version": "0.1.0",
    "command": "g++",
    "args": [
        "-g",
        "${file}",
        "-o",
        "${file}.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
        }
    }
}

五、執行

  接下來,建立cpp執行即可。