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