windows系统下VScode配置C++环境
注意!!!!!,先不要看这篇, 先看二 :(二) windows下配置VScode,写C++, 使用opencv库和openMVG依赖库 : windows下, VSCode使用opencv ;
因为本文方法在后期使用的时候有点问题,看完(二)配置opencv,在看(一)(只看,不操作),会熟悉vscode进行C++编程的逻辑。
背景简单说明
按理说Visual Studio Code只是个编辑器,不含编译器、链接器,直接用Visual Studio(IDE,集成开发环境,集成了编辑器、编译器以及链接器)写C++更方便,但是我需要使用Windows系统和Ubuntu系统,而Visual Studio官方没有直接提供Linux版本的下载链接。所以最终选择了vscode。微软官方提供了根据项目选择工具的推荐:https://visualstudio.microsoft.com/zh-hans/downloads/
前提
下载好对应系统的Visual Studio Code(VScode): https://code.visualstudio.com/download ;
下载其他的工具,例如Visual Studio: https://visualstudio.microsoft.com/zh-hans/downloads/
windows下配置VScode,搭建C/C++环境
配置逻辑:
- 增加gcc编译功能、gdb调试功能(使用MinGM,这里有两个方法,方案一是直接使用mingw-w64安装包;方案二,使用Msys2安装mingw-w64)
- 安装
- 增加环境变量
- 验证是否安装成功
- 在VScode中增加扩展插件(方便写C++代码)
- 在.cpp代码路径增加配置文件
- tasks.json
- launch.json
- c_cpp_properties.json
1. 增加gcc编译功能、gdb调试功能
方案一:使用MinGW
- 下载安装MinGW(mingw-w64项目是支持gcc编译功能、gdb调试功能的开发环境,用于支持Windows 64位和32位操作系统的原生二进制文件。):https://sourceforge.net/projects/mingw-w64/files/Toolchains targetting Win32/Personal Builds/mingw-builds/installer/mingw-w64-install.exe
- 安装MinGW_s
方案二:使用官网推荐的Msys2 (推荐这个)
- 参考地址
官方教程地址:https://code.visualstudio.com/docs/cpp/config-mingw msys2下载地址(官方):https://www.msys2.org/ 我的中文安装参考: - 安装过程
- 安装完成后会弹出黑框,而且菜单栏多了很多的图标:
- 输入:
pacman -Syu
- 输入:
Y
(如果输入Y之后,黑框没了,在菜单栏找到MSYS2 MSYS,也可以在安装目录下找到,双击,弹出黑框,重新输入pacman -Syu
,更新剩下来的库) - MSYS2已经配置完毕,现在下载mingw-w64 GCC来进行编译,输入指令
pacman -S --needed base-devel mingw-w64-x86_64-toolchain
进行下载 - 等待下载完毕
- 关闭黑框,查看msys64的安装文件夹,查看是否有以下文件,如果有说明已经成功下载gcc了
- 增加环境变量
- 进行进一步——验证是否可以使用:按
windows+R
,输入cmd,弹出黑框后,输入g++ --version
;gdb --version
;gcc -v
;g++ -v
等查看版本信息。
二. 在vscode中增加扩展工具:c/c++
其他可以扩展的插件,根据需要增加:Code Runner(代码运行器);Tabnine(AI自动代码填充);chinese(改界面英文为中文)
三. 配置文件的生成
1. c++程序的编译配置(tasks.json配置)
打开一个文件目录,新建一个.cpp文件
输入测试代码:
```
#include
int main()
{
std::cout << "Hello World" << std::endl;
}
```
进行build(编译):单击Terminal——> run build task——>c/c++:g++.exe build active file/生成活动文件——>生成了.vscode/tasks.json文件
.vscode/tasks.json文件(该文件是自己生成的,如果是复制别人的,代码中的路径等需要自己修改成自己的):
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++.exe 生成活动文件",
"command": "D:/msys64_vscodeUseC/msys64/mingw64/bin/g++.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "D:/msys64_vscodeUseC/msys64/mingw64/bin"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
],
"version": "2.0.0"
}
2. 程序运行配置( launch.json文件配置)
点击RUN——>Add Configuration——>点击node.js——>生成./vscode/launch.json文件
./vscode/launch.json文件
```
{
"version": "0.2.0",
"configurations": [
{
"name": "g++.exe - Build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "D:\\msys64\\mingw64\\bin\\gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "C/C++: g++.exe build active file"
}
]
}
```
注意:此配置文件是按步骤操作后自己生成的,如果是复制别人的,程序中的路线需要进行修改;
3. 针对c/c++相关拓展的配置
按下Ctrl+Shift+P以打开全局搜索——>C/C++: Edit configurations(UI)——>进行参数修改
此时.vscode文件夹中出现c_cpp_properties.json文件,内容如下:
{
"configurations": [
{
"name": "GCC",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"windowsSdkVersion": "10.0.19041.0",
"compilerPath": "D:/msys64_vscodeUseC/msys64/mingw64/bin/g++.exe",
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "gcc-x64"
}
],
"version": 4
}
4. 配置成功:
他人的提醒注意:
- 生成task.json和launch.json文件之前,务必切换到.cpp或者.c文件,否则自动生成的task.json和launch.json无法编译对应的.cpp和.c;
- 建议不同的编程语言采用不同的文件夹;
- 将.vscode文件夹备份一份,以后需要的时候直接复制即可,不用再花时间进行配置了;
- 因为vscode在执行完程序后会退出,所以可以选择增加一个system(“pause”)者加一句getchar();
此外,把launch.json文件中"externalConsole"项目的值改为“true”,就能看到外部控制台了(默认是false,使用集成控制台)