从vscode官网下载地址下载安装包,选择Apple Silicon
下载完成,好像会自动安装
双击即可打开
如果诸位的英文水平还可以,建议后面的配置过程直接参考官方文档config-clang-mac
以下是本人的配置过程,供参考。。。
C/C++插件
简体中文
lldb适配器
苹果公司为自家系统定制了
clang+llvm
编译器和lldb
调试器,性能更优,可替代gcc
和gdb
。
确保mac中安装了clang
和Xcode
code
命令从指定路径下打开vscode
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
目录
vscode里需要配置三个文件:
tasks.json
(build instructions)launch.json
(debugger settings)c_cpp_properties.json
(compiler path and IntelliSense settings)有时,仅有
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
内
执行文件
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" } ] }
调试报错。。。
但用命令行可以
烦死了,还是用命令行调试吧。。。
{ "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命令行进行。