VS Code C語言環境配置
阿新 • • 發佈:2018-12-19
最近重溫C語言,因為很多練習只是小程式,並不需要Clion和Codeblocks這樣工程導向的編譯軟體,所以下載了vs code,並試圖搜尋相應的環境,在此過程中發現,網上許多vs code 的c/c++環境配置都是以c++為目標的,不能直接編譯C語言,在參考了許多前輩的文章後,才有了本文,如有不妥之處,還望各位前輩海涵。
0.參考資料
https://blog.csdn.net/bat67/article/details/76095813
https://hk.saowen.com/a/9598540e9e5ae7838bdd78c4cd6a19ffb167f374c811e92fdf0e595b71ad13db
1.安裝編譯器
2.安裝VS code
3.安裝外掛
4.配置編譯檔案
launch.json
請注意,這一條請務必填寫你自己的路徑,讓編譯器找到gdb.exe。
"miDebuggerPath": "C:\\MinGW\\bin\\gdb.exe", // miDebugger的路徑,注意這裡要與MinGw的路徑對應
{ // 使用 IntelliSense 瞭解相關屬性。 // 懸停以檢視現有屬性的描述。 // 欲瞭解更多資訊,請訪問: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "C Launch (GDB)", // 配置名稱,將會在啟動配置的下拉選單中顯示 "type": "cppdbg", // 配置型別,這裡只能為cppdbg "request": "launch", // 請求配置型別,可以為launch(啟動)或attach(附加) //"launchOptionType": "Local", // 偵錯程式啟動型別,這裡只能為Local "targetArchitecture": "x86", // 生成目標架構,一般為x86或x64 "program": "${cwd}\\${fileBasenameNoExtension}.exe",// 將要進行除錯的程式的路徑 "args": [], // 程式除錯時傳遞給程式的命令列引數,一般設為空即可 "stopAtEntry": false, // 設為true時程式將暫停在程式入口處,一般設定為false "cwd": "${workspaceRoot}", // 除錯程式時的工作目錄,一般為${workspaceRoot}即程式碼所在目錄 "environment": [], "externalConsole": true, // 除錯時是否顯示控制檯視窗,一般設定為true顯示控制檯 "MIMode": "gdb", "miDebuggerPath": "C:\\MinGW\\bin\\gdb.exe", // miDebugger的路徑,注意這裡要與MinGw的路徑對應 "preLaunchTask": "gcc", // 除錯會話開始前執行的任務,一般為編譯程式,c++為g++, c為gcc "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ] } ] }
tasks.json
{ "version": "2.0.0", "command": "gcc", // 編譯C++用g++,用MinGW和clang的自行修改。 "args": ["${file}", "-o", "${fileBasenameNoExtension}.exe", "-g3", "-Og", "-Wall", "-static-libgcc", "-std=c11", "-fexec-charset=GBK", "-finput-charset=UTF-8"], // 編譯命令引數,C++可用-std=c++14 "problemMatcher": { "owner": "c", "fileLocation": ["relative", "${workspaceRoot}"], "pattern": { "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$", "file": 1, "line": 2, "column": 3, "severity": 4, "message": 5 } } }
c_cpp_properties.json
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"compilerPath": "C:\\MinGW\\bin\\gcc.exe",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "clang-x64"
}
],
"version": 4
}
settings.json(該項是用於無縫切換C語言和c++的,但是博主現在沒有搞懂,而且直接照搬前輩的配置會導致報錯,暫時不建議新增此配置檔案)
// 將設定放入此文件中以覆蓋預設值和使用者設定。
{
"files.defaultLanguage": "c",
"code-runner.runInTerminal": false,
"code-runner.executorMap": {
"c": "cd $dir && gcc $fileName -o $fileNameWithoutExt -Wall -g3 -Og -static-libgcc -std=c11 && $dir$fileNameWithoutExt",
"cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt -Wall -g3 -Og -static-libgcc -std=c++14 && $dir$fileNameWithoutExt"
}
}