vs code(Windows)配置C环境
前言
在前端开发中,有一个非常好用的工具,Visual Studio Code,简称VS code。 它是微软出的一款轻量级代码编辑器,免费而且功能强大,对JavaScript和NodeJS的支持非常好,自带很多功能,例如代码格式化,代码智能提示补全、Emmet插件等。 无数个大言不惭的攻城狮,都被VS code比德芙还丝滑的强大功能所折服。 本篇文章主要是介绍如何配置Windows系统下C环境的配置,C++的配置类似,这里就不再重复。
1.下载vs code
这里给出官网链接
2.下载mingw
这里给出官网链接,如果官网下载太慢,也可以点此下载,然后解压到自己喜欢的地方,但最好路径中不要含有中文。
3.下载插件
-
cpptools
下载不了的可以从这里下载离线包,在vs code中选择“从VSIX安装”即可
-
Chinese (Simplified) Language(可选)
-
Bracket Pair Colorizer(可选)
4.配置环境
-
新建测试文件test.c
/* * @Description: * @Author: Yale_Xin * @Date: 2020-03-07 10:31:47 * @LastEditTime: 2020-03-07 10:31:47 * @LastEditors: Yale_Xin */ #include<stdio.h> int main(){ printf("hello world"); return 0; }
-
配置launch.json
编写完毕上面的代码,然后按下F5,弹出选择环境
这里选择第一个,然后选择默认配置
系统就会自动为我们自动生成launch.json,接着把下面的代码粘贴覆盖进去即可:
{
"version": "0.2.0",
"configurations": [
{
"name": "C++ Launch (GDB)", // 配置名称,将会在启动配置的下拉菜单中显示
"type": "cppdbg", // 配置类型,这里只能为cppdbg
"request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
"launchOptionType": "Local", // 调试器启动类型,这里只能为Local
"targetArchitecture": "x86", // 生成目标架构,一般为x86或x64,可以为x86, arm, arm64, mips, x64, amd64, x86_64
"program": "${fileDirname}/${fileBasenameNoExtension}.exe", // 将要进行调试的程序的路径
"miDebuggerPath":"D:/mingw32/bin/gdb.exe", // ******************miDebugger的路径,注意这里要与MinGw的路径对应
"args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可
"stopAtEntry": false, // 设为true时程序将暂停在程序入口处,一般设置为false
"cwd": "${workspaceRoot}", // 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录
"externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台
"preLaunchTask": "gcc" // *********调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc
}
]
}
- 配置c_cpp_properties.json 输入以下内容:
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"compilerPath": "D:\\mingw32\\bin\\gcc.exe",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "clang-x86"
}
],
"version": 4
}
接着将miDebuggerPath的值改为你的MinGw路径。
-
配置tasks.json
回到test.c,按下F5,你会发现还是不能编译运行我们的程序,别急,我们还需要配置tasks.json,
点击弹出来的信息框中的“配置任务”
选择“使用模板”
选择第一个
然后在生成的tasks中粘贴覆盖下面的代码即可
{
"version": "2.0.0",
"tasks": [
{
"label": "gcc",
"command": "gcc",
"args": [
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}.exe",
"-g",
],
"type": "shell",
"group": {
"kind": "build",
"isDefault": true
},
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared"
}
},
{
"type": "shell",
"label": "gcc.exe build active file",
"command": "D:\\mingw32\\bin\\gcc.exe",//**********
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "D:\\mingw32\\bin"
},
"problemMatcher": [
"$gcc"
],
"group": "build"
}
]
}
接着将代码中注释部分相应地改为你的路径即可。
5.成功!
然后你再测试你的test.c,发现可以成功了,但是命令窗口一闪而过,解决的办法是在return语句之前加
system("pause");
我更推荐使用断点功能来完成
偷偷告诉你,使用上述插件调试C++
程序的时候,假如函数的参数中,整型数组或者实型数组是使用指针传递的,可以使用
*numPtr@10
查看以numPtr
为起始地址的10
个元素的值
最后这三个文件应该位于当前项目下的.vscode文件夹下,如果上面配置好了仍然跑不起来程序,可以看看是不是文件路径不对
本文由「黄阿信」创作,创作不易,请多支持。
如果您觉得本文写得不错,那就点一下「赞赏」请我喝杯咖啡~
商业转载请联系作者获得授权,非商业转载请附上原文出处及本链接。
关注公众号,获取最新动态!