前提
-
安裝 C/C++ 擴展 for VS Code 也可以在vscode的extension界面搜索'c'查找插件安裝

-
添加 Mingw-w64的bin文件夾路徑到系統環境變量中,bin路徑取決於Mingw-w64的安裝路徑,
C:\XXX\XXX\mingw64\bin示例,步驟如下- 在底欄的搜索框中,搜索“設置”,打開win設置程序
- 在設置中,搜索系統環境變量
- 選擇系統中的
path變量(個人用戶的也可以),點擊編輯 - 新建一個環境變量,將Mingw-w64的bin文件夾路徑添加進去。
- 點擊確定保存更新路徑,需要重新打開cmd才能路徑生效
-
檢查是否成功安裝,打開cmd,輸入
gcc -v如果沒有成功輸出版本號,那說明安裝不成功
Hello World!
創建一個空文件夾projects用來存放vscode項目文件。再projects中創建一個子文件夾helloworld,然后在vscode中打開這個helloworld文件夾。
可以在cmd完成這項操作:
mkdir projects
cd projects
mkdir helloworld
cd helloworld
code .
code .命令是指在此文件夾中打開vscode。
添加源文件
添加helloworld.c
復制下面代碼,添加到文件中
#include <stdio.h>
int main()
{
printf("Hello world!");
return 0;
}
編譯
這一步要創建tasks.json,文件是用於告訴vs code怎么編譯程序
在主菜單中,選擇 Terminal > Configure Default Build Task. 選擇一個編譯器點擊,c語言就選擇gcc,c++就選擇g++
選擇之后,tasks.json會被創建在.vscode文件夾中。文件內容與下文相似
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: gcc.exe build active file",
"command": "C:/msys64/mingw64/bin/gcc.exe",
"args": ["-g", "${file}", "-o", "${fileDirname}\\${fileBasenameNoExtension}.exe"],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": ["$gcc"],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "compiler: C:/msys64/mingw64/bin/gcc.exe"
}
],
"version": "2.0.0"
}
command: 指定編譯器的路徑
args: 指定將傳遞給gcc的命令行參數,這些參數必須按照編譯器期望的順序指定。這些參數告訴gcc獲取活動文件(${file}),先編譯它,然后在當前文件夾(${fileDirname})創建一個可執行文件,其名字與活動文件一樣,但是后綴是.exe。(${fileBasenameNoExtension}.exe)
label: 這是你在任務列表中看到的,可以隨便給它起個名字。
"isDefault": true指定該任務將在按下Ctrl+Shift+B時運行,只是為了方便使用,也可以在 Terminal: Run Build Task 中編譯文件
運行編譯
-
回到
helloworld.c,可以通過Ctrl+Shift+B快捷鍵編譯,也可以點擊Terminal: Run Build Task編譯 -
編譯成功之后,會在集成的terminal中輸出類似下圖的信息
-
點擊任何鍵退出界面。運行
dir命令將會看到新創建的 helloworld.exe可以在terminal中運行exe文件 (helloworld.exe 或者 .\helloworld.exe)
圖片僅作參考,本實例實際運行輸出為
Hello world!
編輯json文件
使用"${workspaceFolder}\\*.c" 代替 ${file},編譯時會編譯當前文件夾中所有的.c文件,輸出文件名也要修改為"${fileDirname}\\${fileBasenameNoExtension}.exe"
debug
在此操作中會創建一個launch.json文件。當你按F5調試程序時,VS Code需要使用launch文件來啟動GDB調試器。
- 在主菜單中,選擇Run > Add Configuration... 然后選取 C++ (GDB/LLDB)
- 然后再選取
gcc.exe build and debug active file(c語言就選gcc,c++就選取g++)
完成操作后會創建一個launch.json文件,內容與下方類似
{
"version": "0.2.0",
"configurations": [
{
"name": "g++.exe - Build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "C:\\msys64\\mingw64\\bin\\gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "C/C++: g++.exe build active file"
}
]
}
program: 設置指定要調試的程序
stopAtEntry: 默認為false,為true時,debug時會在main函數開頭設置斷點
preLaunchTask: 設置用於指定在啟動前要執行的任務,確保與tasks.json中label保持一致
C/C++ configurations
如果想要對C/C++擴展的擁有更多的控制權,需要創建一個c_cpp_properties.json文件。這將允許你改變設置,如編譯器的路徑,包括路徑,c++標准(默認是c++ 17)以及更多。
-
使用快捷鍵
Ctrl+Shift+P,搜索C/C++: Edit Configurations (UI)
-
點擊就會打開設置界面。人為改變設置,就會記錄在
c_cpp_properties.json文件中
