VS Code C/C++ 環境配置
添加工作區文件夾
雖然代碼能力非常弱,但是環境還是要配好的嘛。C/C++插件 安裝完成之后,首先需要將相應的文件夾添加到VS Code對應的工作區,便於后續代碼調試,如圖所示:
Say Hello world
然后,在文本編輯區新建文本,編寫一段簡單的代碼,保存為two_sum.cpp至工作區文件夾中,代碼如下,vscode操作如圖所示。其中,我工作區文件夾名稱是vscode_c,然后因為Code Runner的功勞,此時只需要點右上角的運行按鈕,即可運行程序啦。
#include<iostream>
using namespace std;
int main()
{
int result;
int a = 2;
int b = 3;
result = a + b;
cout << result<< endl;
return 0;
}
關於三個配置文件--Debug
接下來就是愉快的Debug時間啦,我主要就是在配置這幾個文件的時候花了不少時間。因為自己性子急,又總想着網上肯定有現成的配置文件,只要復制一下就好,結果呢,網上的資料質量參差不齊,幾乎全都沒有用,還有很多就是直接貼圖,什么都不說,哎呦喂,我這急脾氣加暴脾氣呀,一下子全都噴涌而出(心塞),逼着我自己好好看了看官方文檔里面的一些說明,這次總算是把一些基本設置參數弄得七七八八了。
c_cpp_properties.json
首先快捷鍵shift+command+p 打開C/Cpp: Edit configurations,其會自動生成c_cpp_properties.json,該文件主要是方便添加其他路徑的頭文件以及一些代碼定位功能。但是小白如我現在還用不到這些功能,所以該文件自動生成之后,如果只是簡單的使用,暫時不需要修改。這個文件是長這個樣子滴:
{
"configurations": [
{
"name": "Mac",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [],
"macFrameworkPath": [
"/System/Library/Frameworks",
"/Library/Frameworks"
],
"compilerPath": "/usr/bin/clang",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "clang-x64"
}
],
"version": 4
}
參數的簡單說明
- “includePath”:后期需要添加的額外頭文件路徑
- “compilerPath”: 編譯器所在的文件路徑
更加詳細的說明可以參考C/C++ for VS Code
tasks.json
這個文件的作用是編譯C/C++源碼。首先快捷鍵shift+command+p 打開Tasks: Configure Tasks,選擇 Create tasks.json file from templates,此時會蹦出一個下拉列表,在下拉列表中選擇Others,這個時候tasks.json文件就會自動生成啦。這個配置文件是長這個樣子的:
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "Build two_sum.cpp",
"type": "shell",
"command": "g++",
"args": [
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}.out",
"-g"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
參數的簡單說明
-
“label”:任務的名稱
-
“type”:任務的類型,有兩種(shell/process),shell的意思相當於先打開shell再輸入命令,process是直接運行命令
-
“command”:實際執行的命令
-
“args”:在這里可以設置一些需要的參數,比如說這里我設置的四個參數中,
-
“-o”,表示指定輸出文件名,如果不加該參數則默認Windows下輸出a.exe,Linux/MAC下默認a.out,緊接着的一行即為指定的輸出文件名
-
“-g”,C/C++調試必備參數
更加詳細的解釋見VS Code官方文檔關於tasks.json的說明
官方文檔中還給出了GitHub中的tasks.json模版
launch.json
該文件的作用是為了可以讓我們愉快地調試代碼的啦。首先找到蟲子的圖標,然后點擊設置的按鈕,在蹦出來的選項中選擇C++ (GDB/LLDB),就像圖片中這個樣子:
然后,跟tasks.json相對應,簡單修改后如下:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(lldb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}.out",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "lldb"
}
]
}
參數的簡單說明
-
“name”:配置名稱,將會在啟動配置的下拉菜單中顯示
-
“type”:配置類型
-
“request”:請求配置類型,可以為launch(啟動)或attach(附加)
-
“program”:進行調試的程序的路徑
-
“stopAtEntry”:若設置為true時程序將暫停在程序入口處
-
“cwd”:當前調試所在目錄
-
“externalConsole”:調試時是否顯示控制台窗口,設置為true即是顯示控制台
更加詳細的解釋見Github中關於launch.json文件的說明
上面的步驟全部完成之后,首先切換到two_sum.cpp,快捷鍵command+shift+b對源文件進行編譯,編譯成功之后,按下F5,我們便可以愉快地調試啦。成功調試的圖如下: