1,安装下载
地址:Visual Studio Code - Code Editing. Redefined


双击安装

选择安装路径





可勾选微软的AI工具

2,环境介绍
2.1 ,界面介绍

2.2中文包的安装

下载中文简体

汉化后的界面

2.3 配置C/C++环境
VSCode安装好之后,我们还是要知道,VSCode毕竟是一个高级的编辑器,只能用来写C/C++代码,不能直接编译代码。
所以,如果我们要能使用VSCode搭建C/C++的编译和调试环境,还必须有编译器使用。
为了方便,我们就使用MinGw-w64 ,MinGw-w64移植到windows平台的一个gcc编译器,使用起来也是非常方便的。
下面我们就演示怎么下载和配置MinGw-w64
地址:https://sourceforge.net/projects/mingw-w64/




解压后我们会得到一个mingw文件夹

将其复制到你需要的位置
双击打开并进入bin文件夹内,这里有我们的gcc(C语言编译器)、g++(C++编译器),gdb调试器(可以使用断点调试)等
这里说gcc是C语言编辑器,g++是C++的编译器其实不太准确,因为gcc也可以编译C++,但是需要自己配置链接C++的库,g++默认链接了C++的库。

复制bin路径


!这样我们的准备环境就配置好了
我们可以使用一些命令来测试一下,按win+r输入cmd打开终端
以此输入


2.4
安装vscode并安装一下必备的插件
vscode安装大家应该都会,如果通过浏览器下载vscode速度比较慢的话,可以复制下载链接放到迅雷里面去下载
安装必备插件
我们需要安装两个插件
- 安装C/C++插件:

3 配置
配置阶段我提供了两类配置方式,大家按需选择即可
第一类 使用vscode插件进行配置
这类配置方法一般来说不需要自己动手配置内容,只需要安装一下插件即可。
优点:使用简单,基本上拿来就可以使用,比较适合C/C++初学者(因为老师们貌似上来都是直接教C/C++语法,而不是C/C++编译器、C/C++标准、C/C++项目构成等一些C/C++基本内容)以及一些不需要复杂功能的同学。
缺点:可扩展性差(使用插件基本上是用插件配置好的命令去编译运行程序,如果你需要改或扩展一些配置的话,你得对一些命令很熟悉,当然这不是重点,重点是使用插件配置一般只能有一个有效的配置项,例如:如果你想从调试模式切换到编译模式,你得手动更改一下配置文件,而不是像大部分编辑器那样,选择一个配置去运行)
样例一:使用run code插件
因为插件配置实质上是用它提供的指令进行编译执行,因此无法直接使用断点调试功能,需要对配置进行一定的更改
这里以使用run code为例,在扩展里搜索code runner这个插件并安装


程序是在下面的输出栏中运行的,是无法输入内容的,所以我们还需要改一些内容,以便能够正常输入内容。
找到code runner扩展,点击扩展设置,找到Run In Terminal并勾上,这样就能够正常地输入内容了。



第二类 自定义配置
这类配置方法要自己手写配置内容,比较复杂,但可扩展性强
优点 :可扩展性强
缺点:配置比较复杂、需要一定的知识储备
样例一:使用windows启动,让编译的文件放在同目录下的build文件夹中,并在黑窗(cmd)中运行
在配置之前,我们需要先创建一个.cpp文件,这里我创建了一个Test文件夹,并写了一个hello world。
请注意,一切的配置都要从一个cpp文件的编辑界面开始,否则vscode的提示可能会不太一样
样例一的配置方式因为本质上就是直接编译运行,因此无法使用断点调试功能

第一步 :配置基本环境
按下ctrl + shift + p打开命令面板,输入C/C++,找到C/C++编辑配置(UI)打开

你可以在这个页面中选择编译器,更改C/C++标准,还可以更改IntelliSense 模式
PS:IntelliSense 模式和文本解析有关,如果你选择的IntelliSense模式和你的编译器不匹配,那么会报错,这就会引起例如写代码的时候没有提示、编辑器说代码正确、编译的时候却不正确等问题

这里可以选择你需要的C/C++标准

配置的内容会自动写入.vscode文件夹中的c_cpp_properties.json文件中。
这是我的c_cpp_properties.json文件内容
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"compilerPath": "F:/C++Development/mingw-w64/13.1.0/bin/g++.exe",
"cStandard": "c17",
"cppStandard": "gnu++17",
"intelliSenseMode": "windows-gcc-x64"
}
],
"version": 4
}

第二步:配置task编译任务
按下ctrl + shift + p打开命令面板,输入task,找到 任务:配置任务 打开。


这里,介绍一下文件内需要注意的配置项

这是我的task.json中的配置内容
{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++.exe 生成活动文件",
"command": "E:/Microsoft VS Code/mingw64/bin/g++.exe",
"args": [
"-fdiagnostics-color=always",
// 这个命令的作用是转化成GBK编码,可以防止终端中出现乱码
// 乱码问题原因:终端编码和vscode编码不一致。
// 国内大部分电脑终端编码默认是gbk,而vscode编码默认是utf-8,所以会出现问题乱码问题。
// 加上这个命令后先转化为gbk编码后编译,就不会出现乱码了。
// "-fexec-charset=GBK",
"-g",
"${file}", // 如果要多文件编译,改成 "${fileDirname}\\*.c*" 可以把c和cpp文件都作为cpp文件编译。
"-o",
// 这里加了一个build,让编译后的程序在同目录下的build文件夹中
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "E:/Microsoft VS Code/mingw64/bin"
},
"problemMatcher": [
"$gcc"
],
"group": "build",
"detail": "编译器: E:/Microsoft VS Code/mingw64/bin/g++.exe"
}
]
}
第三步:配置launch.json启动任务
因为现在的C/C++插件不支持通过命令面板创建任务,所以我们需要手动建一个launch.json文件
建完后打开,我们会发现右下角有一个添加配置

选择windows启动

{
"configurations": [
{
"name": "(Windows) 启动",
"type": "cppvsdbg",
"request": "launch",
// 这项是启动的程序位置,把tasks.json中的生成文件的路径复制粘贴过来就可以了
"program": "${fileDirname}\\build\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
// 这项改为integratedTerminal,就和code runner一样是在vscode内置终端中运行了
"console": "externalTerminal"
// 这一项一开始没有,要自己写,代表启动前先执行的编译任务,把tasks.json中的label复制粘贴过来就可以了
}
]
}
样例二:使用gdb启动,让编译的文件放在同目录下的build文件夹中,并在vscode中运行(可以使用断点调试)
样例二使用了gdb调试器,所以能使用vscode的断点调试功能。
样例二与样例一稍作更改的地方是launch启动任务和task编译任务,因此就不配图演示了,只需要对照有注释的地方进行更改即可。
task编译任务
这是我的编译任务:
{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++.exe 生成活动文件",
"command": "E:/Microsoft VS Code/mingw64/bin/g++.exe",
"args": [
"-fdiagnostics-color=always",
// 这个命令的作用是转化成GBK编码,可以防止终端中出现乱码
// 乱码问题原因:终端编码和vscode编码不一致。
// 国内大部分电脑终端编码默认是gbk,而vscode编码默认是utf-8,所以会出现问题乱码问题。
// 加上这个命令后先转化为gbk编码后编译,就不会出现乱码了。
"-fexec-charset=GBK",
"-g",
"${file}", // 如果要多文件编译,改成 "${fileDirname}\\*.c*" 可以把c和cpp文件都作为cpp文件编译。
"-o",
// 这里加了一个build,让编译后的程序在同目录下的build文件夹中
"${fileDirname}\\build\\main.exe"
],
"options": {
"cwd": "E:/Microsoft VS Code/mingw64/bin"
},
"problemMatcher": [
"$gcc"
],
"group": "build",
"detail": "编译器: E:/Microsoft VS Code/mingw64/bin/g++.exe"
}
]
}
launch调试任务
注意:如果你不是copy这里给出的代码,而是自己像上文一样点击添加配置然后修改,请选择gdb启动而不是windows启动。
{
"configurations": [
{
"name": "(gdb) 启动", // 调试任务的名称,改一个你想要的
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\build\\main.exe", // 入口程序的位置,和task任务生成的程序位置相同
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "E:/Microsoft VS Code/mingw64/bin/gdb.exe", // gdb调试器的位置,和gcc、g++在一个目录下
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "将反汇编风格设置为 Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
],
"preLaunchTask": "C++调试" // 启动前调用编译任务
}
]
}
常见问题
Q:终端出现乱码怎么办?
A:在编译的时候加上"--exec-charset=GBK",具体可以看本教程的示例,两类配置方式中都有讲解
Q:在第二种配置方式中,选择task任务时,没有g++、gcc选项怎么办?
A:copy教程中的配置,然后对照图片说明进行更改。