C++学习之工具篇 一:VSCode C++环境配置(Windows篇)
1.VSCode简介
VSCode是由微软推出的一款免费、开源且跨平台的代码编辑器,并具有以下亮点:
1)支持的编程语言较为丰富,如Java、Python、Go、Ruby、C#、C/C++等,只要安装相应的扩展就能很好的完成开发环境的搭建;
2)支持各大主流操作系统,包括Windows、Linux和Mac OS;
3)具有丰富的扩展插件,可灵活扩展想要的功能;
4)相对于IDE,足够的轻量化。
2.VSCode下载
在VSCode官网下载页选择对应版本进行下载。根据操作系统选择32位还是64位,为避免后期应用程序的权限问题,建议选择system版本进行下载安装。
3.VSCode安装
选择同意,依次点击下一步
建议勾选红色框中选项,下一步,直至完成安装。
4.安装MinGW编译器
下载地址:download link。 一直往页面下面翻,找到最新发行版,选择对应版本下载。日常使用情况下,选择posix与win32均可,感兴趣的读者可以自行查阅相关文档深入了解二者的区别。
名称 | 解释 | 可选项 | 说明 |
---|---|---|---|
Architecture | 架构 | x86_64,i686 | 64位操作系统选x86_64,32位系统选择i686 |
Threads | 线程模型 | posix,win32 | posix,可支持Linux,跨平台性好,win32 性能好 |
Exception | 异常处理 | x86_64:sjlj,seh; i686:sjlj,dwarf | sljl同时支持32位和64位,稳定性好;seh与dwar分别只支持64位、32位,性能好 |
笔者这里选择了x86_64_posix_seh版本。
将下载好的文件进行解压,可将mingw64文件移动到个人指定路径下,笔者这里选择了C盘根目录下,然后打开bin文件夹。
选择此电脑——右键属性——高级系统设置——环境变量——Path——添加mingw文件夹中bin的路径——点击确定
最后打开cmd命令行运行:gcc空格-v 和 g++空格-v,进行测试,如下图所示,则安装成功,若未正常显示,可重启电脑。
5.VSCode基本配置
5.1 中文插件安装(可选)
打开VSCode,选择侧栏扩展选项,在扩展市场搜索“Chinese”,选中图示插件安装。建议使用中文环境一段时间后,切换到英文环境。
5.2 C/C++插件安装
在扩展市场中搜索“C++”,安装图示插件,也可安装C/C++ Extension Pack插件套装。
5.3 json文件配置
新建一个文件夹,并用VSCode打开,添加一个hello.cpp文件,如图所示,
配置编译器:按快捷键Ctrl+Shift+P调出命令面板,输入C/C++,选择“Edit Configurations(UI)”进入配置,
1)编译器路径:选择mingw安装路径下的/bin/g++.exe;gcc与g++的区别与联系可以参考此问题的讨论:gcc和g++是什么关系 https://www.zhihu.com/question/20940822
2)IntelliSense 模式:gcc-x64
配置完成后,会发现文件夹根目录下,多出了.vscode文件夹,并且生成了c_cpp_properties.json文件,如下图所示,此时,即可编译运行了。
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"windowsSdkVersion": "10.0.18362.0",
"compilerPath": "C:/mingw64/bin/g++.exe",//编译器路径
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "gcc-x64"
}
],
"version": 4
}
使用快捷键crtl+` 调出终端, 输入:
g++ ./hello.cpp -o hello
即可完成编译,生成hello.exe文件,在终端中输入:
./hello
即可运行程序
配置Tasks.json
选中hello.cpp文件,执行Start Debugging 操作(F5快捷键);
或使用Ctrl+Shift+P
选择:g++.exe生成和调试活动文件,即可调试程序,同时会生成tasks.json文件
正常输出运行结果
tasks.json 文件
{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++.exe 生成活动文件",
"command": "C:\\mingw64\\bin\\g++.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "编译器: C:\\mingw64\\bin\\g++.exe"
}
]
}
或通过Ctrl+Shift+P快捷键打开命令面板,输入tasks,选择“Tasks:Configure Default Build Task”:
再选择“C/C++: g++.exe 生成活动文件”:
launch.json文件配置
目前新版的C/C++插件在执行StartDebugging时不会自动生成launch.json文件,所以可在.vscode文件夹中自行添加,内容如下,注意preLaunchTask必须与tasks.json中“label”保持一致。
然后便可以打断点,调试程序了。
{
// 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": "(gdb) Launch",
"preLaunchTask": "C/C++: g++.exe 生成活动文件",//调试前执行的任务,就是之前配置的tasks.json中的label字段
"type": "cppdbg",//配置类型,只能为cppdbg
"request": "launch",//请求配置类型,可以为launch(启动)或attach(附加)
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",//调试程序的路径名称
"args": [],//调试传递参数
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,//true显示外置的控制台窗口,false显示内置终端
"MIMode": "gdb",
"miDebuggerPath": "C:\\mingw64\\bin\\gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
其他问题
1、使用外部控制台
"externalConsole": true,//true显示外置的控制台窗口,false显示内置终端
2、中文乱码
解决外部终端中文乱码