文末放了我的三个json文件配置,可以参考。
VS code已针对m1 芯片进行了适配,去官网下载VS code Apple Silicon版并安装。
在终端里输入clang --version
查看是否已安装,若未安装,输入xcode-select --install
读完条款输入agree安装即可。
一共有三个扩展需要下载。
1.C/C++
2.C++ Intellisense
3.CodeLLDB
4.Chinese(中文插件,可选)
这里直接采用微软官方文档里的代码。
#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; }
这个时候,在文件第10行输入msg.
应该是能看到VS code跳出assign
之类的提示的。
首先点击终端
---配置默认生成任务
--- C/C++ clang++
,会生成一个tasks.json文件,这是默认生成的,需要修改其中的args
选项,添加一个"-std=c++17"
,修改后为
"args": [ "-g", "${file}", "-std=c++17", "-o", "${fileDirname}/${fileBasenameNoExtension}" ],
配置完后,会发现VS code提示语法错误,不要急,接下来就修正它。
使用组合键shift+command+p
(mac下shift就是fn
键上面那个啦),调出C/C++:编辑配置(json)
,会自动生成一个c_cpp_properties.json
文件。
将"compilerPath": "/usr/bin/clang",
修改为"compilerPath": "/usr/bin/clang++",
将""cppStandard": "c++98",
修改为"cppStandard": "c++17",
其实只是将编译器修改为clang++,cpp标准修改为C++ 17.
这么配置完后,其实VS code还是会报两个语法错误,不过这不要紧,这是因为还没更新的缘故。
点击终端
---运行生成任务
,运行完后会生成一个二进制文件,语法报错也没了,表示我们编译成功了。
如果想测试的话,新建一个终端,使用./你的二进制文件名
,即可看到输出结果。
点击运行
---添加配置
---C++(GDB/LLDB)
---clang++
,会生成一个launch.json
文件。
修改其中的"type": "cppdbg"
为"type": "lldb"
。
至此,所有文件就配置完了。
在文件的第10行放一个断点,点击运行
---启动调试
,就可以看到各种变量了。
以下是我的三个json文件配置代码。
tasks.json
:
{ "version": "2.0.0", "tasks": [ { "type": "cppbuild", "label": "C/C++: clang++ 生成活动文件", "command": "/usr/bin/clang++", "args": [ "-g", "${file}", "-std=c++17", "-o", "${fileDirname}/${fileBasenameNoExtension}" ], "options": { "cwd": "${fileDirname}" }, "problemMatcher": [ "$gcc" ], "group": { "kind": "build", "isDefault": true }, "detail": "编译器: /usr/bin/clang++" } ] }
c_cpp_properties.json
:
{ "configurations": [ { "name": "Mac", "includePath": [ "${workspaceFolder}/**" ], "defines": [], "macFrameworkPath": [ "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks" ], "compilerPath": "/usr/bin/clang++", "cStandard": "c17", "cppStandard": "c++17", "intelliSenseMode": "macos-clang-arm64" } ], "version": 4 }
launch.json
:
{ // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "clang++ - 生成和调试活动文件", "type": "lldb", "request": "launch", "program": "${fileDirname}/${fileBasenameNoExtension}", "args": [], "stopAtEntry": false, "cwd": "${fileDirname}", "environment": [], "externalConsole": false, "MIMode": "lldb", "preLaunchTask": "C/C++: clang++ 生成活动文件" } ] }