https://code.visualstudio.com/docs/cpp/config-clang-mac
brew install visual-studio-code
进入vscode下载C++插件
可以使用code . 打开vscode
写cpp代码,运行选择
生成的tasks.json文件修改如下
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "C/C++: 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": "build",
"detail": "Task generated by Debugger."
},
{
"type": "cppbuild",
"label": "C/C++: clang++ 生成活动文件",
"command": "/usr/bin/clang++",
"args": [
"-std=c++17",
"-stdlib=libc++", //非常重要,如果没有这行,将不能使用C++17新标准,也不能使用C++11标准
"-fcolor-diagnostics",
"-fansi-escape-codes",
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
]
}
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": "C/C++: clang++ build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}",
"args": [],
"stopAtEntry": true,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "lldb",
"preLaunchTask": "C/C++: clang++ build active file"
}
]
}
shift+cmd+p 搜索edit configurations(UI) 找到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
}
若想自定义代码风格颜色,cmd+,打开设置界面,搜索主题,找到 setting.json,打开后加上
// 自定义的颜色
"editor.tokenColorCustomizations": {
"comments": "#97999d", // 注释
"keywords": "#f063a9", // 关键字
"variables": "#3fc2be", // 变量名
"strings": "#e52f66", // 字符串
"functions": "#34bcd7", // 内置函数名
"numbers": "#c0c06a", // 数字
"types": "#34a0e7", //类定义颜色
}
彻底删除vscode
sudo rm -rf $HOME/Library/Application\ Support/Code
sudo rm -rf $HOME/.vscode
之后删除vscode程序即可。
问题1: vscode无法编译 vector{} 初始化,也不能使用C++17新特性,因为tasks.json是使用cppbuild方式,在args参数中加入
“-std=c++17”,
“-stdlib=libc++”,
#include
#include
#include
#include
#include
using namespace std;
tuple func()
{
return std::tuple(1, 2.2);
}
int main()
{
vector msg = {"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"};
auto [i, d] = func(); // 是C++11的tie吗?更高级
cout << i << endl;
cout << d << endl;
cout << endl;
}
{
"label": "Open Terminal",
"type": "shell",
"command": "osascript -e 'tell application \"Terminal\"\ndo script \"echo hello\"\nend tell'",
"problemMatcher": []
}
点击菜单栏的terminal选项下的run task ,在跳出界面选择 open terminal
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r4i5Z7aD-1685721071229)(/Users/samuelDai/Desktop/截屏2023-06-02 22.29.52.png)]
修改“launch.json”文件中的"externalConsole"的值为“true”
之后输入时会跳出终端进行输入。
参考Mac VSCode安装
在vscode中安装“codelldb”插件。安装完成后会提示你要下载一个什么平台文件(xx platform啥的),等待下载完成。
到install from VSIX 选择下载好的codelldb-aarch64-darwin.vsix 文件(这个文件m1芯片的)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y2PgRuwv-1685721071230)(/Users/samuelDai/Desktop/截屏2023-06-02 23.13.34.png)]
修改launch.json文件为
{
"version": "0.2.0",
"configurations": [
{
"name": "C/C++: clang++ build and debug active file",
"type": "lldb",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}",
"args": [],
"cwd": "${workspaceFolder}",
"preLaunchTask": "C/C++: clang++ build active file"
}
]
}
一定要按fn+f5执行才能在内置终端输入。
之后所有的输出内容均在终端显示了。
注意:
想要使用调试控制台就需要将launch.json文件改为如下,并且将codeLLdb禁用;
想要终端输入就只能使用codeLLdb,launch.json文件如上,并按fn+f5调试,所有输入输出均在终端,若想使用调试控制台,直接点击界面的三角按钮运行。