在使用VS Code進行C/C++的開發過程中,有三個至關重要的配置文件,分別是 tasks.json, launch.json 和 c_cpp_properties.json
1. tasks.json
tasks.json 是在 vscode 中輔助程序編譯的模塊,可以代你執行類似於在命令行輸入 “gcc hello.c -o hello” 命令的操作,你只要在圖形界面下操作即可生成可執行文件。
當你在項目文件夾下打開 vscode 后:
1) 選擇“終端”; 2) 選擇“配置任務”; 3) 選擇你想使用的編譯器(這里本人選擇 gcc);
即可生成默認的 tasks.json 文件。

可以看到在文件夾下生成了名為 .vscode 的文件,tasks.json 就放在其中。
⭐其中比較重要的幾個變量:
{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild", //任務類型,如果是shell,下面的command就相當於執行shell命令
"label": "環境配置測試", //任務的名稱,可以修改,但一定要和launch中的"preLaunchTask"項保持一致
"command": "/usr/bin/gcc", //編譯器的路徑
"args": [ //編譯時使用的參數,和命令行下相同
"-g",
"${fileDirname}/hello.c",
"-o",
"${fileDirname}/hello"
],
//上述內容相當於在命令行下輸入了: gcc hello.c -o hello
"options": {
"cwd": "/usr/bin" //編譯器的目錄
},
"problemMatcher": [
"$gcc" //使用gcc捕捉錯誤
],
"group": "build",
"detail": "compiler: /usr/bin/gcc" //一些描述性信息
}
]
}
也可以參考 Integrate with External Tools via Tasks 官方文檔 文檔進一步了解
2. launch.json
launch.json 是用於運行 ( run ) 和調試 ( debug ) 的配置文件,可以指定語言環境,指定調試類型等等內容。
打開 VS Code 后,按照下圖所示的提示,從左向右依次點擊(也可以在上方菜單欄依次選擇 :1) “運行”;2) “打開配置”;3) 選擇 " C++ (GDB/LLDB) " 即可生成 launch.json),創建 launch.json 文件

生成的 launch.json 也放在 .vscode 文件夾中
⭐其中各種變量的內容及涵義如下:
{
"version": "0.2.0",
"configurations": [
{
"name": "運行和調試", //運行和調試任務的名稱,可自定義
"type": "cppdbg", //配置類型,默認即可
"request": "launch", //launch模式允許我們打斷點進行調試,默認即可
"program": "${fileDirname}/hello", //程序目錄,這里相當於"./hello"
"args": [], //程序(main函數)的入口參數
"stopAtEntry": false, //在入口處暫停,選true相當於在入口處增加斷點
"cwd": "${workspaceFolder}",//當前的文件目錄
"environment": [], //添加到程序的環境變量
"externalConsole": false, //外部控制台,true在調試時會開啟系統控制台窗口,false會使用vscode自帶的調試控制台
"MIMode": "gdb", //使用gdb進行調試
"setupCommands": [ //用來設置gdb的參數,默認即可
{
"description": "為 gdb 啟用整齊打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "環境配置測試", //運行和調試前要執行的task(編譯)任務,名稱要對應上task.json里的"label"任務名
"miDebuggerPath": "/usr/bin/gdb" //debug調試工具的路徑,這里使用gdb所在的路徑
}
]
也可以參考 Configuring C/C++ debugging官方文檔 和 Debugging in VS Code官方文檔 進行設置
3. c_cpp_properties.json
c_cpp_properties.json 主要用來設置包含頭文件的路徑,設置 C/C++ 支持的版本號等等。
1) 點擊 Ctrl + Shift +P 彈出命令搜索框;2) 選擇 C/C++: 編輯配置 (UI) 即可生成 c_cpp_properties.json 文件,此文件同樣包含在.vscode文件夾中。

⭐其中主要的變量名稱和涵義如下:
{
"configurations": [
{
"name": "Linux", //配置名稱,默認為系統名,可以自行更改
"includePath": [ //(常用)運行項目包含.h頭文件的目錄,
"${workspaceFolder}/**"//此處會匹配工作文件下的所有文件
], //添加"compilerPath"后,系統include路徑可不寫明
"defines": [], //(常用)定義一些需要的變量,等價於在編譯時寫"-D變量"
"compilerPath": "/usr/bin/gcc", //編譯器的路徑
"cStandard": "gnu17", //C標准的版本
"cppStandard": "gnu++14", //C++標准的版本
"intelliSenseMode": "gcc-x64" //IntelliSense的一些配置,默認即可
}
],
"version": 4
}
也可參考 c_cpp_properties.json 官方文檔 設置更多內容。
在上述三個配置文件中,我們會看到類似於 ${workspaceFolder} 等等類似的描述,這些描述是 VS Code 預定義變量名,可以用來代指工作目錄的路徑,環境變量的名稱,生成文件的名稱等等。使用這些預定義的變量名可以使得我們的開發過程更加高效,同時可移植性也大大增強。更多內容可以參照官方文檔 Variables Reference。
${workspaceFolder} - VS Code當前打開工作區文件夾的路徑
${file} - 當前打開文件的絕對路徑
${fileBasename} - 當前打開文件的名稱
${fileBasenameNoExtension} - 當前打開文件的名稱,但是不加后綴名
${fileDirname} - 文件所在的文件夾路徑
歡迎各位指正和補充!

