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執行即可。