VScode 配置 C/C++编译运行环境
效果预览
本文旨在通过介绍个人对 VScode 的配置及使用来帮助大家理解 VScode 配置的大致思路。
当然,如果你觉得我的使用方法很对你胃口的话,直接照搬也无妨。
我的工作区(名为#FOR_CPP)中包含了四类文件夹
.vscode:存放配置文件(调试用,本文不涉及)io:存放输入输出文件src(及同类):存放源代码compiled:存放可执行文件

日常写题的时候 belike:
- 在
src中新建一个文件(这里用practice.cpp为例子) - 在
in.txt文件里输入样例的数据 - 在原文件里
乱写一通编写代码 - 将文件编译运行
- 在
out.txt文件中查看输出结果 接下来大概率要改屎了

好了差不多就是这样,如果你看到这里觉得很有信心,那么我们可以开始了!
从目的出发
懒得看的话可以直接跳到这里
不难发现,上文写题步骤中的第四步就是关键(对于配置环境而言)。
细分来看,我们要能让源代码能够顺利的
- 被编译、运行
- 成功的读取输入
- 输出到正确的地方
那么 HOW ?
先别急,我们先来看看一个 C/CPP 的源文件 的一生
让我们先在桌面新建一个 practice.txt ,写点简单的小程序,之后将文件扩展名改为.cpp。
然后打开你的 cmd (WIN + R,输入 cmd ,回车),敲两个命令
cd Desktoptype practice.cpp

大概就会看到这些东西 (
下载编译器
那么怎么编译运行呢?这时候就需要掏出我们的编译器了。编译器的安装可以参考编译器 - OI Wiki
懒得点进去?那直接点这里下载吧。(大家也可以在群里找找,没准哪天顺手放上去了
我们一般会直接使用 GCC (大家大概率用的都是 Windows),对其他编译器感兴趣的话可以点上面的 OI WIKI 链接看看。
安装好后找到你安装的地方,打开他,再打开 bin 文件夹。复制文件夹路径,如 D:\mingw64\bin 。
安装的时候注意一下安装的位置,你的路径和我的可能不一样。
接下来打开系统设置,搜索 编辑系统环境变量 ,点击环境变量,打开 Path,点击新建,把路径粘贴上去,点击确定。


接下来打开终端, 输入 gcc -v,没啥问题的话应该就没啥问题了(
回到命令行
现在我们有源代码了,也有编译器了,那么可以开始了。
首先我们来看编译器的基本用法:
1 g++ [选项] 源文件 -o 输出文件
让我们一步步来
首先在终端里输入 g++ practice.cpp,我们会发现在桌面上多了一个名为 a.exe 的可执行文件。
是的, g++ 默认给你把编译出来的文件命名为 a 了。
想自定义输出文件怎么办? 让我们加上后半句,输入 : g++ practice.cpp -o practice
如何,是不是多了个 practice.exe 那么我们就能顺利的找到并运行他了。
那么怎么让他编译完了顺便运行一下呢 ?输入指令 : g++ practice.cpp -o practice && practice 就好了。

那么说了这么多,跟我们配置 vscode 有什么关系呢?
很明显 这一套操作就是 vscode 编译运行代码时的底层操作,我们正是需要对这些命令进行定制来达到自己想要的效果。
正式开始
首先为什么是 VScode 而不是别的 IDE 呢。答案很多 自己去百度吧
我们要知道的是,VScode 有丰富的插件生态,我们只需要下个插件就能实现很多功能(比如我的壁纸),可以实现高度的自定义。
本教程利用了插件 code runner
另:个人使用的插件如图
没需求的话下载 code runner 就好了,看不太懂英语界面的话可以再下载图中倒三的汉化插件

下好插件后重启一下,接下来就需要对 code runner 下手了。


点击设置,下拉找到这一栏,点击 在 settings.json 中编辑
找到 cpp 那一栏, 将双引号内替换为:
cd $dir && g++ -std=c++23 $fileName -o ..\\compiled\\$fileNameWithoutExt && ..\\compiled\\$fileNameWithoutExt < ..\\io\\in.txt > ..\\io\\out.txt
替换后整行为 :
"cpp": "cd $dir && g++ -std=c++23 $fileName -o ..\\compiled\\$fileNameWithoutExt && ..\\compiled\\$fileNameWithoutExt < ..\\io\\in.txt > ..\\io\\out.txt",

具体效果如上图中绿色的被注释掉的部分,如果想使用 clang 的话可以参照前文下好 LLVM 后敲入下面一行。
"cpp": "cd $dir && clang++ --target=x86_64-w64-mingw32 -std=c++23 $fileName -o ..\\compiled\\$fileNameWithoutExt && ..\\compiled\\$fileNameWithoutExt < ..\\io\\in.txt > ..\\io\\out.txt",
那么现在 code runner 就调好了,仿照 本文第一部分 建好文件夹,编辑完代码后点击 CTRL + ALT + N 即可编译运行。
(CTRL + ALT + N 是 code runner 的默认快捷键,也可以设置为自己习惯的快捷键)
那么这行命令是干啥的呢,让我们拆开来看:
-
cd $dir:先把当前工作目录切换到变量$dir指定的路径 -
g++ -std=c++20 $fileName -o ..\\compiled\\$fileNameWithoutExt:基本编译语句,采用 c++20 标准,将文件编译并输出到 当前文件夹的 上级文件夹下的
compiled文件夹内 -
..\\compiled\\$fileNameWithoutExt:
运行刚刚编译出来的可执行文件
-
< ..\\io\\in.txt > ..\\io\\out.txt对输入和输出重定向
另外,code runner 默认使用 cmd 运行,而不是 powershell。由于本教程也更推荐使用 cmd 以避免poweshell 通过管道设置输入时可能造成的问题。如果实在想用 poweshell (比如需要 clang 带高亮的报错)这里给出在 poweshell 里使用 cmd 子进程运行程序的解决方案:
"cpp": "cmd /c 'cd $dir & clang++ --target=x86_64-w64-mingw32 -std=c++23 $fileName -o ..\\compiled\\$fileNameWithoutExt & ..\\compiled\\$fileNameWithoutExt < ..\\io\\in.txt > ..\\io\\out.txt'",
几点提示
-
如果在 Windows 电脑上想使用 Clang 的话需要注意
由于 LLVM 在 Windows 上缺失标准库,所以你仍需安装 MSVC 或 GCC。
-
对比 GCC,Clang 有几个优点:
- 编译速度快
- 内存占用小
- 错误提示更清晰
-
本文未包括程序调式的配置方法,有需求的话需要等等了,之后随缘更新。
-
大家在配置的时候出现的各种问题有两种解决方法
- 重启一下 VScode
- 把报错发给 AI, 让 AI 看看