文章目录
下载安装
从vscode官网下载地址下载安装包,选择Apple Silicon
下载完成,好像会自动安装
双击即可打开
如果诸位的英文水平还可以,建议后面的配置过程直接参考官方文档config-clang-mac
以下是本人的配置过程,供参考。。。
安装相关依赖
C/C++插件
简体中文
lldb适配器
苹果公司为自家系统定制了
clang+llvm
编译器和lldb
调试器,性能更优,可替代gcc
和gdb
。
确保mac中安装了clang
和Xcode
创建代码
- 通过
code
命令从指定路径下打开vscode
如果code命令无效,则需要安装该命令:command + shift + p
如果出现无权限的错误,则需要设置/usr/local/bin/
的权限,使当前用户能读写该路径。 - 新建文件,编辑源码:
hello_world.cpp
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
vector<string> msg {"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"};
for (const string& word : msg)
{
cout << word << " ";
}
cout << endl;
}
当前工作空间下多了一个.vscode
目录
- 设置自动保存
配置.json
vscode里需要配置三个文件:
-
tasks.json
(build instructions)
配置编译器指令,告诉vscode如何构建(编译)程序。 -
launch.json
(debugger settings)
配置调试器指令。 -
c_cpp_properties.json
(compiler path and IntelliSense settings)
配置编译路径和编辑器的智能感知。
有时,仅有
tasks.json
也能正常编译。
tasks.json
编辑内容如下
{
"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
}
}
]
}
告知编译器使用C++17
标准编译程序。
把当前工作目录变为.vscode
所在的目录。
编译源码,生成可执行文件command + shift + b
编译时,要使光标位于
hello_world.cpp
内
执行文件
launch.json
fn + f5
{
"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",
"targetArchitecture": "arm64"
}
]
}
调试报错。。。
但用命令行可以
烦死了,还是用命令行调试吧。。。
c_cpp_properties.json
{
"configurations": [
{
"name": "Mac",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [],
"macFrameworkPath": [
"/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks"
],
"compilerPath": "/usr/bin/clang",
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "macos-clang-arm64"
}
],
"version": 4
}
感觉应该把编译路径(头文件路径,库路径)的配置放在tasks.json里,c_cpp_properties.json只配置编辑器显示相关的参数。
用MacBook的话,只把vscode当个编辑器用还是可以的,编译可以通过Makefile完成,调试通过lldb命令行进行。