Mac VSCode C++配置
-
- 預先安裝
- 建立項目
- 配置C++相關設定檔案
-
- tasks.json檔案
- launch.json檔案
- 開始debug
VSCode在Mac上使用C++相信很多人都覺得配置比較難,配置教程也各式各樣。經過多次嘗試,并參考了官方教程,這裡記錄了一個我自己配置成功的方法,非常簡單。
預先安裝
- 安裝Visual Studio Code on macOS
- 安裝C++ extension for VS Code,在擴充插件中搜尋
C++
- 确認已安裝
,Clang
可能在你的電腦裡安裝過了,打開終端,輸入以下指令來确認是否安裝。Clang
clang --version
- 若
未安裝,使用Clang
進行安裝。xcode-select --install
- 若
建立項目
- 建立一個Hellow World項目進行測試
上述步驟,建立了一個helloworld項目,并在VSCode中打開。mkdir projects cd projects mkdir helloworld cd helloworld code .
- 建立一個cpp檔案 建立一個檔案取名為
,将以下代碼粘貼進檔案中,并按helloworld.cpp
進行儲存。Ctrl+S
#include <iostream> using namespace std; int main() { for(int i=0; i<=5; i++) cout << "Hello World " << i << endl; return 0; }
配置C++相關設定檔案
我們需要生成三個檔案tasks.json (compiler build settings),launch.json (debugger settings),c_cpp_properties.json (compiler path and IntelliSense settings)。
tasks.json檔案
tasks.json
用來告訴VSCode如何編譯該程式,這裡會調用
Clang C++
進行編譯。
這裡需要将
helloworld.cpp
檔案在編輯界面中打開,然後選擇
Terminal > Configure Default Build Task
,選擇下面選項。
現在在
.vscode
檔案夾中,就生成了
tasks.json
檔案。将下面的代碼替換掉原來的内容。
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "clang++ build active file",
"command": "/usr/bin/clang++",
"args": [
"-std=c++17",
"-stdlib=libc++",
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": ["$gcc"],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
接下來,回到
helloworld.cpp
檔案,按
Ctrl+Shift+B
進行編譯或選擇
Terminal > Run Build Task
。
如果編譯成功,會在終端中顯示,并且可以在目錄中看到有一個
helloworld.dSYM
檔案夾(這是用于debug的,先不管它)
launch.json檔案
該檔案用于配置VSCode啟動LLDB debug
選擇
Run > Add Configuration
,并選擇
C++ (GDB/LLDB)
,再選擇
clang++ build and debug active file
現在在
.vscode
檔案夾中,就生成了
launch.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": "clang++ - Build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}",
"args": [],
"stopAtEntry": true,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "lldb",
"preLaunchTask": "clang++ build active file"
}
]
}
- 參數解釋:
-
表示你具體的想debug的程式,其中program
表示程式所在的檔案夾,${fileDirname}
表示想要debug的程式。不需要進行修改,對你想要運作的檔案進行debug就能夠自動識别。${fileBasenameNoExtension}
-
: 設定為true時,會讓debugger在stopAtEntry
函數處進行一次停頓。main
-
的值要和preLaunchTask
中task.json
的值一緻。label
-
開始debug
回到
helloworld.cpp
,這一步非常重要,因為VSCode會檢測你目前哪個視窗處于活躍狀态,并對其進行debug。(活躍:你的界面中顯示的視窗,并且有光标)
- 使用
或從菜單欄中選擇F5
就能進行開始debug.Run > Start Debugging
參考
Using Clang in Visual Studio Code