默认VS Code已经安装,接下来进入正题。
1. 下载配置MingW
MinGW 是一个用于 Windows 平台的开发工具集,它提供了一组工具和库,用于支持在 Windows 上进行 C 和 C++ 编程。简单来说,就是C/C++代码的编译器。
下载网址:https://sourceforge.net/projects/mingw-w64/files/
进入网址后,下滑页面,选择对应的版本下载就行,可能会比较慢耐心等待。
下载完成后是一个名为x86_64-8.1.0-release-win32-seh-rt_v6-rev0.7z的压缩包(版本不同名字会不一样),解压后如下图所示:
将名为mingw64的文件夹复制到想要放置的位置,自己要能找到,我的是 D:\mingw64。
为MingW配置的环境变量。鼠标右键此电脑->属性->高级系统设置->环境变量,在用户变量的Path中将mingw中的bin的路径添加进去。
然后在所有窗口底部全部点击确定,MingW配置完成。
2. VS Code环境准备
扩展->搜索安装Chinese(可选)和C/C++插件,其他扩展根据需要自行查阅选择,本文不展开。
安装完成后,重启VS Code
3. 代码运行和编译配置
选择一个文件夹打开,新建一个c或cpp文件,编写代码
编译前,首先需要配置一下编译选项,快捷键ctrl+shift+p,
选择“C/C++: 编辑配置(UI)”, 进入配置界面。
【编译器路径】在mingw存放路径中:C选择gcc.exe,C++选择g++.exe
【IntelliSense 模式】选择gcc-x64
【C标准】【C++标准】根据自身需要选择,c17是较新的标准,c++17较为稳定
其余默认,返回文件。此时会生成一个.vscode文件夹,里面的文件c_cpp_properties.json文件保存着前面的配置信息,修改也可以直接在这个文件中修改。
点击右上角的运行,弹出的选项选择g++.exe,同样的,C选择gcc.exe。
结束后.vscode文件夹会生成tasks.json文件,这里保存的是代码编译的相关信息
同时,代码也运行完成,生成了.exe文件,并在终端输出了结果。编译和运行就完成了。
4. 代码调试配置
接下来配置调试相关内容。首先,需要一个多阶段输出的代码,以便查看调试。
点击运行和调试->创建launch.json文件->选择C++(GDB/LLDB)。
此时,会在.vscode中生成一个无配置的launch.json文件,选择添加配置->C/C++: (gbd)启动
会生成默认配置,需要修改的地方只有下面标出的两个地方。可以按照tasks.json文件中的,直接复制过来
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe" //.exe文件的保存位置
"miDebuggerPath": "D:/mingw64/bin/gdb.exe" //mingw的存放路径
修改完成的文件如下:
接下来,就可以进行调试了。
返回代码,在代码中打上断点,点击右上角的调试
此时,代码停在了第一个断点处。并输出了第一个断点处。
上面弹出的为调试选项:
第一个按钮(F5):启动调试/继续执行
第二个按钮(F10):逐过程执行
第三个按钮(F11):单步执行
按F5,运行到下一个断点。
在代码处直接点击F5,进入调试
5. 运行优化
1. F5一键编译调试加运行
代码如果之前执行过生成了.exe文件,如果对代码进行了修改,按F5后,新的代码便不会重新编译,只会执行上次的可执行文件。
如果要让每次运行都要对代码进行重新编译,只需要在launch.json中加入一行代码。
"preLaunchTask": "C/C++: g++.exe 生成活动文件" // 引号内为tasks.json文件的label项
2. 输出在黑框显示
让代码结果输出在系统的cmd中,即黑框中,只需要将launch.json中的“externalConsole”项改为Ture,每次运行使用F5进入调试即可,按右上角的运行调试不起作用。
同时注意,黑框一闪而过。为避免这种情况,每次编写代码时,在代码返回前加一句:
system("pause");
运行成功。
3. 中文乱码问题
代码中,如果有中文文字输出,在cmd中会显示乱码,如下:
此时,需要在launch.json的args项中加入:
"-fexec-charset=GBK"
返回代码文件,再次点击F5 ,问题解决。