第一步:安装c/c++编译器
第二步:配置环境变量
第三步:vscode安装
配置Vscode的c语言开发环境
第一步:安装c/c++编译器:
在windows上借助MinGW工具安装,下载地址:vscode c++ 环境配置
第一步:下载安装
下载MinGW-W64 GCC-8.1.0编译器(32和64版本都有)
MinGW-W64 GCC下载地址: https://sourceforge.net/projects/mingw-w64/files/Toolchains targetting Win32/Personal Builds/mingw-builds/installer/mingw-w64-install.exe
离线下载地址:https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/
安装选项为 x86_64-win32-seh
加入后,建议重启一下电脑(不重启应该也可以,我就没有重启(~ ̄▽ ̄)~)
第二步:配置环境变量
将下载好的文件解压到你要想要的位置记住这个位置,这个位置很重要哦,千万要记下来!!!,打开你的mingw-w64安装目录,我我是默认安装的在C:\Program Files (x86),我觉得安装在别的盘比较好,比如D,E,F什么的,自己创一个英文文件名的文件夹,里面的MinGW-W64就是安装的编译器了,将里面的bin文件夹加入路径,我的就是C:\Program Files (x86)\mingw64\bin,将这个加入路径即可。
路径加入方法:
在桌面右键此电脑选择属性->高级系统设置(有些电脑的这个选项可能在右上方蓝字)->环境变量
就是上面的bin文件夹的地址
好啦,开始检查我们配置的环境变量是否正确
检查环境变量配置:在命令行窗口输入:gcc -v,如果出现下面信息则表示环境变量配置成功(在电脑左下角的搜索框输入cmd然后搜索就会出现的黑框框)
第三步:vscode安装
打开浏览器输入https://code.visualstudio.com/(进入到官网),点击下载,可以根据自己的操作系统进行下载。
vscode安装可以看这个
巴拉巴拉就装好了。
第四步:开始配置
由于vscode是轻量型编译器,它的工作环境就是某个目录下,也就是说,如果我们在A目录配置好了环境,我们在B目录下写程序,这样子是运行不了滴。惊不惊喜,意不意外!是不是感觉很神奇。其实这样子就是它为何轻量的原因!因为这个特性,我们就可以在不同的文件夹中写不同的代码,很大程度上将我们的文件区分开来。哎…有跑题了!
既然vscode有区别工作目录的特性,那我们就给它一个专属的待遇吧!
首先我们先在我们想要存放代码的地方建立一个文件夹,比如C C++ Data看是不是特别通俗易懂一目了然,不过你也可以起一些你喜欢的名字
根据我1.2.3.4.5.6.7.8…呃呃呃…不到一年的代码经验,我建议还是不要起中文名字,不然编译器总会给你找一些莫名其妙的错误,到时候出现连谷歌、百度都解决不了的bug就有点难受了
这就是我的路径,不要急着问为什么里面就几个程序,前面都说了嘛,我就几天的代码经验,有这几个代码就不错了。不要吐槽不要吐槽。
当创建好文件夹后,进入文件夹,右键打开方式–>通过vscode打开
(也可以先打开vscode然后把文件夹整个拖进左边的工作区中)
就是这里
还有一种方法
直接打开vscode,选择打开文件夹
选择我们刚刚创建的文件夹
接下来就是重点了,带上你们的小板凳,坐下好好听
接着就开始安装c语言插件咯!
就在vscode左边,倒数第二个选项,直接在里面搜索就好啦!
就是这个,安装好以后我们可以重启一下!(我自己没重启😂)
接下来我们就在刚刚的目录里创建一个c程序
这里注意一哈,我们创建文件是要给他加上后缀名哦,因为我们的vscode是超级强大的,他可以一个文件里写各种程序
例如:我们创建temp.cpp随便写一段c的代码
这里的.cpp就是c语言的后缀名
按F5,编译器就会给我们弹出一个对话框
这样
然后选择C++(GDB/LLDB)
然后编译器就会给我们生成一个配置文件夹
这样
有些时候只会自动生成一个launch文件,没有下面两个(像我一样😂)不用担心,自己再创俩把内容粘上就好了。
接下来就正式开始配置了
我把我们的配置代码贴出来,可以直接使用,只需要把第一步我们安装的MinGW路径改一下就好咯!
launch.json
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "C/C++", // 配置名称,将会在启动配置的下拉菜单中显示
"type": "cppdbg", // 配置类型,这里只能为cppdbg
"request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
"program": "${workspaceRoot}/${fileBasenameNoExtension}.exe", // 将要进行调试的程序的路径
"args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可
"stopAtEntry": false, // 设为true时程序将暂停在程序入口处,一般设置为false
"cwd": "${workspaceFolder}", // 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录 workspaceRoot已被弃用,现改为workspaceFolder
"environment": [],
"externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台
"MIMode": "gdb",
"miDebuggerPath": "E:\\MinGw\\x86_64-8.1.0-release-win32-seh-rt_v6-rev0\\mingw64\\bin\\gdb.exe", // miDebugger的路径,注意这里要与MinGw的路径对应
"preLaunchTask": "echo",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": false
}
]
}
]
}
假设我们编译test.c文件,则${file}就是test.c,然后先执行prelaunchTask,就相当于执行了
gcc -g test.c -o test.exe
1
由此生成了test.exe文件
然后又要用gdb调试${fileBasenameNoExtension}.exe,刚好就是test.exe,这里的配置和刚刚的输出文件名要一致,相当于运行了:
gdb test.exe
c_cpp_properties.json
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"windowsSdkVersion": "8.1",
"compilerPath": "E:\\MinGw\\x86_64-8.1.0-release-win32-seh-rt_v6-rev0\\mingw64\\bin\\gcc.exe",
"cStandard": "c11",
"cppStandard": "c++17"
}
],
"version": 4
}
tasks.json
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "echo",
"type": "shell",
"command": "gcc", // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc
"args": [
"-g",
"${file}",
"-o",
"${fileBasenameNoExtension}.exe"
],
"problemMatcher": [
"$gcc"
]
}
],
"presentation": {
"echo": true,
"reveal": "always",
// "focus": false,
"focus": true,
"panel": "new",
"showReuseMessage": true,
"clear": false
}
}
这3个文件我们一开始可能编译器只会创建一个,没关系,我们自己创建,注意这里是json文件哦!
到这里就大功告成啦!
使用vscode
随便写一段代码,有两种方式运行!
可能每个电脑配置会有所不一样,这里附上官方配置文档 官方文档(反正我是没看😂看英文就很头大)
第一次运行的时候可能会说找不到launch文件里的路径,什么巴拉巴拉.exe找不到,是因为程序还没有编译成exe结尾的应用的缘故,可以按错误提示改改路径,看一下gdb.exe的路径对不对什么的
还有什么找不到g++什么的,如果要编译c,把前面tasks.json里的第八行的g++换成gcc,后面有注释,这些问题我都遇到过(我是菜狗😂)当时光顾着改没有截图。
回到顶部
参考文章:
https://blog.youkuaiyun.com/qq_43041976/article/details/100542557
https://juejin.cn/post/6844904098354069512#heading-0
https://blog.youkuaiyun.com/qq_28581077/article/details/81380341