目录
参考文章
Using Clang in Visual Studio Code
[官方文档翻译]Mac使用VS Code配置C++编译和调试环境
准备
安装VS Code
Download Link
在VS Code官网下载安装MacOS版本。
安装C++插件
在扩展商店中搜索c++安装
检查clang是否安装
我的电脑为新系统,在安装c++插件时弹出命令行开发者工具安装提示,选择安装,其中包括clang
可以通过在终端输入以下命令来检查clang是否已经安装
clang --version
如果没有安装,也没有在安装c++插件时弹出提示,可以使用一下命令安装命令行开发者工具。
xcode-select --install
创建Helloworld项目
通过终端创建helloworld项目文件夹
(可以先使用 cd 文件夹名 命令在终端跳转到想要创建文件夹的目录下)
在终端创建一个用来存放所有项目文件的空文件夹,名为project。然后在这个文件夹中创建一个子文件夹,命名为helloworld,然后在这个子文件夹中打开VS Code。
mkdir project
cd project
mkdir helloworld
cd helloworld
code .
如果提示code命令未安装,则手动打开vscode进行安装:
使用 command + shift + p 然后输入 install code,选择 > install ‘code’ command in path
code . —— 在当前文件夹下打开VS Code,并且当前的文件夹成为默认工作空间(workspace)
添加helloworld源码文件
在资源管理器中新建文件,命名为helloworld.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;
}
command + s 保存文件。
也可以在上方选项栏中选择文件-自动保存开启自动保存
运行 helloworld.cpp
运行步骤
- 点击右上角的运行符号,选择运行c/c++文件
- 选择c/c++:clang++生成和调试活动文件
- 调试控制台中即可输出结果
理解tasks.json
按照以上步骤运行helloworld.cpp后,会自动生成tasks.json文件。
我获得的文件内容如下:
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: clang++ 生成活动文件",
"command": "/usr/bin/clang++",
"args": [
"-fcolor-diagnostics",
"-fansi-escape-codes",
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
],
"version": "2.0.0"
}
- “command” 用于指定用来编译当前源码的程序。
- “args” 定义了传递给clang++的命令行参数。这些参数的顺序必须满足编译器对输入参数的顺序的要求。
- “label” 标志的是你将在任务列表中看到的内容。
- “details” 是任务列表中任务的描述。更新此字符串以将其与类似任务区分开来。
- “problemMatcher” 指定了用来从编译器的输出中寻找error和warning的输出解释器。对于clang++而言,通过"$gcc"可以获得最佳的输出解释器。
调试 helloworld.cpp
- 回到helloworld.cpp文件
- 通过单击编辑器边距或在当前行上使用 F9 来设置断点。
- 点击右上角的运行符号,选择调试c/c++文件
- 从系统上检测到的编译器列表中选择 C/C++: clang++ build and debug active file(仅在首次运行或调试helloworld.cpp时要求您选择编译器)。
- 即可通过“运行和调试”以及调试控制台进行调试