VSCode配置C/C++开发环境
本教程基于以下视频制作
视频地址
工具
-
VS Code
下载地址 -
MinGW-w64编译器(x86_64-win32-seh)
下载地址
工具配置
MinGW-w64环境变量
-
将MinGW-w64下的bin文件夹的路径配置到环境变量path中
-
通过终端(cmd)命令
where gcc
验证,会得到相关路径如下图
下载VS Code插件
C/C++ Extension Pack (扩展包)其中包括:
- C/C++
- C/C++ Themes
- CMake
- CMake Tools
设置c/c++编译选项
在vscode中使用快捷键 Ctrl+Shift+P
在出现的菜单中选择 C/C++编辑配置(UI)
-
更改编译器路径
填入之前验证环境变量时终端(cmd)输出的路径, 如下图
-
更改IntelliSense 模式(代码提示的模式)
选择
gcc-x64(legacy)
,如下图
配置完成后VSCode当前打开的文件夹中会生成一个.vscode
文件夹, 其中有一个c_cpp_properties.json
文件, 文件内容就是刚才更改后的配置和一些默认配置,鼠标放到配置字段上, 会显示出相关的解释
vscode配置并编译C
-
测试代码
test.c
源代码如下
#include<stdio.h>int main(){printf("hello word !");return 0; }
-
创建执行任务
选择菜单栏的终端,点击配置任务, 如下图(需要代码文件在前台)
选择编译器, 就会生成文件tasks.json
(与之前的c_cpp_properties.json
在相同的位置)
其中
command
指定的是编译器,
${file}
指的是被编译的文件,
${fileDirname}\\${fileBasenameNoExtension}.exe
指的是生成的可执行程序的路径和名字
-
编译 + 执行
-
将需要编译的代码文件放到前台
-
依次点击 [终端] > [运行生成任务] 之后选择配置好的任务
-
选择任务后会在终端显示任务运行状态,
正常的话,会在代码同路径生成
*.exe
的可执行文件 -
打开终端,执行文件, 结果会显示在终端上
-
vscode配置并编译C++
配置,编译C++代码,使用的工具与C语言是一致的,都是用到了MinGW-w64, 配置步骤也非常相似
-
首先,先准备一个c++代码文件(*.cpp)
cpp_test.cpp
// cpp_test.cpp #include<iostream> using namespace std;int main(){int num = 0;cin >> num;cout << num << endl;return 0; }
-
在vscode中使用快捷键
Ctrl+Shift+P
打开C/C++编辑配置(UI)
并配置这个时候我们需要注意一下配置名称这个选项, 配置名称是可以修改的, 我们先把之前配置的C语言的配置名称修改为
win32_c
,之后在新建一个win32_c++
的配置- 修改配置选项为
win32_c
,也可以不改, 只是为了便以区分
- 新增用于编译c++的配置选项, 我这边使用的名字是
Win32_cpp
-
更改编译器路径和IntelliSense 模式(代码提示的模式)
C++的编译器路径:
*/mingw64/bin/g++.exe
IntelliSense 模式:
gcc-x64(legacy)
修改完成之后可以打开
c_cpp_properties.json
(编译选项),发现多了一些内容{ "configurations": [// c的相关配置{"name": "Win32_C", // 配置名称"includePath": ["${workspaceFolder}/**"],"defines": ["_DEBUG","UNICODE","_UNICODE"],"compilerPath": "D:\\Program Files (x86)\\mingw64\\bin\\gcc.exe", // 编译器路径"cStandard": "c17","cppStandard": "c++23","intelliSenseMode": "gcc-x64" // IntelliSense 模式},// 新增的c++的相关配置{"name": "win32_C++","includePath": ["${workspaceFolder}/**"],"defines": ["_DEBUG","UNICODE","_UNICODE"],"compilerPath": "D:/Program Files (x86)/mingw64/bin/g++.exe","cStandard": "c17","cppStandard": "c++17","intelliSenseMode": "gcc-x64"}], "version": 4 }
- 修改配置选项为
-
编译c++代码文件
-
将c++代码文件放到前台
-
选择菜单
[终端]-[配置任务]
,在弹窗中选择C/C++:g++.exe生成活动文件
执行完上述步骤, 会发现
tasks.json
和编译选项配置文件一样也增加一些内容, 内容与编译选项类似, 不再截图说明- 选择菜单
[终端]-[运行任务]
,在弹窗中选择C/C++:g++.exe生成活动文件
这样就会在从C++源代码文件相同的路径下生成一个
*.exe
文件- 执行生成的exe文件
-
多文件编译
一般写的程序每个文件只做一件事, 后期通过相互调用生成程序, 这样就需要进行多文件编译, 让多个文件生成一个可执行文件(*.exe)
-
准备文件
文件一 test_multiplefiles.c
// 文件一 test_multiplefiles.c#include<stdio.h>// 声明函数 extern int Add(int x, int y);int main(){int a = 10;int b = 30;int sum = Add(a,b);printf("%d + %d = %d",&a,&b,&sum);return 0; }
文件二 add.c
// 文件二 add.c // 定义函数 int Add(int x, int y){return x + y; }
-
调整配置文件
要想实现多文件编译, 需要调整配置文件参数
配置文件共两个, 一个是编译选项(c_cpp_properties.json), 另外一个是编译配置(tasks.json), 需要修改的是后者
在要传给编译器的参数
args
中将
${file}
修改为${workspaceFolder}\\*.c
将
${fileDirname}\\${fileBasenameNoExtension}.exe
修改为${workspaceFolder}\\${workspaceRootFolderName}.exe
编译窗口
执行窗口
TIPS
${file}
: 选中的当前文件
${workspaceFolder}\\*.c
: 该工作空间下所有的C语言源码文件
${fileDirname}\\${fileBasenameNoExtension}.exe
: 与源码文件路径以及名称一致
${workspaceFolder}\\${workspaceRootFolderName}.exe
: 与工作空间名称一致
${fileDirname}\\*.c
: 源文件当前文件夹下所有的源码文件
编译多文件时, 只能有一个
main()
函数