『C/C++』VScode 环境配置
2023年5月7日附:
本教程年代久远,加之当时写的也不是很好,亟待更新
但是鄙人最近没有空,简单地录了个视频,建议配套食用
然后扩展有些已经被官方吞了,再加一个好用的扩展,叫 Error Lens,非常好用
Step0:准备安装文件
安装文件包含 VScode 的安装包和著名 C/C++ 编译器 MinGW
你可以选择去官网下,也可以选择通过下面的链接下载
百度云:https://pan.baidu.com/s/1T_j30OCeFneNF5NnxWVOig
提取码:11hx蓝奏云:https://wwd.lanzouf.com/b030s49yj
密码:8wqk
解压完成后就准备开始了
Step1:安装软件
对于 MinGW 来说,随便放在一个你喜欢的地方
但是请记住它的位置,这里以 C 的根目录为例
对于 VScode ,安装程序一直点下去
Step2:配置运行环境
安装后打开 VScode,需要先装上几个插件,在左侧转到扩展页面,然后按名字搜索
有三个必要的插件,和两个可选的插件
第一个是中文插件,用于显示中文界面
安装后,会提示重启 VScode ,点按钮可以重启
第二个是 C/C++,我们需要用它来运行和调试程序
第三个是 Code Runner,通过这个插件来启动程序更加快捷
下面两个是我比较推荐的,Bracket Pair Colorizer 2 可以给代码中的括号自动配色,突出代码结构
最后一个 Local History 可以保存每次修改的版本,随时回溯历史
下面需要创建一个文件夹保存源代码,我就直接创在桌面了,取名为 C Study
在 VScode 的菜单栏中选择 文件->打开文件夹,在 VScode 中打开
在写代码之前,我们还需要设置一下扩展
切换到扩展页面,选中 C/C++ ,点击扩展设置
输入一个空格,再输入 path ,搜索所有有关路径的设置
我们要设置编译器路径和包含路径,一直往下翻,翻到 Compiler Path 和 Include Path
键入之前你保存 MinGW 的路径,再加上 \bin\gcc.exe
对于下面的 Include Path,添加 MinGW 路径,再加上 \lib,别忘了确定
现在可以切回文件页面,新建一个 helloworld.c 文件(如果想写C++的话就是 .cpp)
在右侧就可以开始写了,可以看见代码补全功能已启用,按 Tab 或 Enter 可以自动补全,方向键可以用来选择
给点时间,让我来写个Hello World
写完了,下面讲如何运行
从左侧切换到 运行和调试 页面,点击运行和调试,或者点击工具栏 运行->以非调试模式运行
第一次运行需要配置环境到 .vscode 文件夹中,按图中的方式选择
如果中途出现了问题,就删除 .vscode 文件夹重新尝试
根据选择在 .vscode 文件夹中自动创建了 launch.json 配置文件,我们不需要再进行修改,直接关掉
查看下方的终端,可以看见程序已正常运行,字符串已成功打印
如果你遇到了无法解决的麻烦...
如果你在此步遇到了麻烦,无法运行,可以尝试使用我的配置文件
点击右上角的按钮,打开 JSON 文档,全部删除,覆盖为我的配置
(如果你的路径跟我的不一样请手动更改)
1 | { |
接下来尝试通过 Code Runner 来运行,找到右上角有个三角形的运行按钮
鼠标放在上面,可以看见也能用快捷键 Ctrl+Alt+N 来运行
尝试运行但报错,发现还要去配置环境变量
打开 设置->系统->关于 点击高级系统设置
点击下面的环境变量
上面的是用户的,下面的是系统的,两个都设置,这里以上面的用户示例
找到 Path ,点击编辑
点击 新建 ,输入编译器所在的文件夹,再点击下方的按钮保存
(别忘了系统那里也操作一遍)
值得注意的是,通过 Code Runner 运行时不能选中任何字符,不然 Code Runner 就会新建一个临时文件把选中的部分抽离出来运行,这对于某些语言还是挺有用的,但 C/C++ 自然是需要一整个程序运行
Step3:做一些优化
重启 VScode 现在可以运行了,运行速度明显更快,所以一般都使用这个方法运行
在左下方的 LOCAL HISTORY 处可以查看历史的版本,点击即可浏览
但我们也看见文件视图里有一些我们不需要的文件夹和文件,比如 .history(用于保存之前的版本)和 .vscode(保存配置文件),而我还觉得,如果去掉那些 exe 文件界面就更清爽了
打开 文件->首选项->设置,或者按快捷键 Ctrl+, 也行
在设置中往下翻一点,找到 Files:Exclude
添加几个屏蔽模式,这样我们就可以只看见源代码了
现在,我来讲解一下怎么调试程序
调试其实就是在运行时查看程序运行的细节(例如看变量的值),来修BUG
给点时间,让我写一个计算加法的程序
写完建议右键格式化一下,更工整美观
在行号的左侧单击一下以添加断点,程序运行到断点处就会停下,等待你点击下一步
在工具栏点击 运行->启用调试,或者直接 F5
再在左侧的监视中添加你想看的变量或表达式
在下方切回终端,输入两个数,再回车
可以看见程序停在了断点处,左侧可以看见变量的值,变量栏中可以看见局部变量,如果是全局变量则必须在监视中手动添加
在上方点击单步调试,可以一步一步运行,直到程序结束
单步调试和单步跳过的区别是:在遇到自己写的函数时,单步调试会跟着跳过去,而单步跳过会跳到函数执行完毕的状态
Step4:推荐一个我喜欢的窗口布局
首先在左侧的文件那里创一个 TestSpace 的文件夹,在其中创建 test.c、input.txt、output.txt
之后所有的写代码的操作都在 TestSpace 中进行,其他位置只用来储存
把 input.txt 标签页拖到右边独立出来
再把 output.txt 拖到右下角
然后我们开始在 test.c 中写代码,这里把上面的加法程序复制进来
写完之后,在 main 函数的开头添加下面两行
1 | freopen("input.txt", "r", stdin); |
这两行的作用是把标准输入重定向为 input.txt,把标准输出定向为 output.txt
现在,在 input.txt 中写上需要输入的内容,按 Ctrl+S 保存,回到 test.c ,按 Ctrl+Alt+N 执行,可以看见输出的内容已经出现在 output.txt
只需修改 input.txt 的内容,再执行,就能获得新的结果
这有什么好处呢?这样可以分离输入和输出信息,而不是有时在缓冲区搅在一起
在需要测试多组样例时,这也更为方便,只需重复 修改->保存->运行
在修 bug 时可以省去重复输入同一组样例的时间
在需要提交代码时,选中 freopen 那两行,按下 Ctrl+/ 来开关注释,之后 Ctrl+A 全选 Ctrl+C 复制提交即可
值得注意的是,不知道为什么在调试的时候貌似不能正常输出至 output.txt,这时只能注释掉那一行,在终端中查看结果