再整理:Visual Studio Code(vscode)下的通用C语言环境搭建
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/czlhxm/p/11794743.html
参考博客:整理:Visual Studio Code (vscode) 配置C、C++环境/编写运行C、C++(主要Windows、简要Linux)
主要流程:
1.vscode的下载与简单配置
2.MinGw的下载与安装
3.配置系统环境变量
4.修改vscode调试配置文件
5.vscode下开发C项目的使用细节
6.通用的C语言debug方法
7.常见问题与解决方案(不定时更新)
1.vscode的下载与简单配置
https://code.visualstudio.com/Download


打开vscode
(可选操作)安装官方简体中文支持
打开菜单Debug-Install Additional Debuggers...

输入language-找到Chinese(Simplified) Language选项点击install,片刻后,右下角弹窗内点击restart now即可。
2.MinGw的下载与安装
因为windows下vscode不直接具备对于C语言的编译调试工具,所以要下载集成gcc等工具的MinGw以提供扩展支持。
https://sourceforge.net/projects/mingw-w64/files/

任意选择一个(如果需要自定义安装gcc相关模块,也可以选择在线安装install.exe,注意该下载极其考验网络同时相当耗时)

将该文件夹解压到需要安装的目录
3.配置系统环境变量Path
打开我的电脑-属性-高级系统设置-高级-环境变量
在系统变量中找到Path变量,选择编辑(没有则新建),将之前mingw解压后目录下bin文件夹目录添加至其中,注意windows 7及以前版本需与原值用英文分号隔开,windows8及以上版本选择新建即可。

或

然后在系统变量中找到include变量(没有则新建一个,不区分大小写),编辑,将原mingw解压目录下include文件夹目录添加进去。

完成后,全部确定,关闭环境变量设置窗口,按win+r键打开运行,输入cmd回车后,可在控制台下输入gcc -v查看当前计算机mingw是否安装成功

4.修改vscode调试配置文件
重启vscode,打开菜单-调试-添加附加调试器...,找到左侧列表下的C/C++(找不到的话搜索试试)选择install安装
后(可选操作,推荐)搜索code runner选择install安装

勾选下列两项

随意指定一个目录,新建文件夹,新建一个文件,将文件名修改为.c后缀的c代码文件,返回vscode,选择菜单-打开文件夹,选择刚才新建的文件夹,在左侧窗口单击刚新建的c代码文件,随意写一个简单的C程序

此时,单击窗口右上角的运行,即可在vscode下方终端中看到程序运行结果


接下来配置C/C++ debuger:
在之前新建的文件夹下再新建一个名为.vscode的文件夹,新建一个launch.json文件,以记事本或者vscode的方式打开,在里面输入:
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示
"type": "cppdbg", // 配置类型,这里只能为cppdbg
"request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
"program": "${workspaceFolder}/${fileBasenameNoExtension}.exe",// 将要进行调试的程序的路径
"args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可
"stopAtEntry": false, // 设为true时程序将暂停在程序入口处,一般设置为false
"cwd": "${workspaceFolder}", // 调试程序时的工作目录,一般为${workspaceFolder}即代码所在目录
"environment": [],
"externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台
"MIMode": "gdb",
"miDebuggerPath": "D:\\Install\\bin\\gdb.exe", // miDebugger的路径,注意这里要与MinGw的路径对应
"preLaunchTask": "gcc", // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
注意这里"miDebuggerPath": "D:\\Install\\bin\\gdb.exe"将其值改成自己所解压的mingw\bin\gdb.exe的路径
其他设置可看情况修改
在vscode中选择菜单-文件-打开文件夹,打开自己所新建的C代码下的文件夹,打开后选择左侧菜单对应的C代码文件,可选择菜单-调试-启动调试(快捷键F5)
弹出以下窗口

选择第二个"配置任务"


在打开的task.json文件中输入:
{
"version": "2.0.0",
"command": "g++",
"args": ["-g","${file}","-o","${fileBasenameNoExtension}.exe"], // 编译命令参数
"problemMatcher": {
"owner": "cpp",
"fileLocation": ["relative", "${workspaceFolder}"],
"pattern": {
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
}
}
保存后,回到最初的C代码文件,菜单-调试-启动调试(快捷键F5),即可成功运行C程序!
5.vscode下开发C项目的使用细节
对于通常情况下,可将上述完成的.vscode文件夹放在C代码保存的大目录下,该目录下的所有C文件在vscode下调试都将适用该配置文件夹。
注意,在不含上述.vscode文件夹的C程序都无法直接调试!需要重新配置。(或者将配置好的.vscode文件夹复制到该程序所在目录下)
正在编辑过程中,要充分利用vscode的资源管理器,菜单-文件-打开文件夹/打开工作区的方式打开一个含.vscode文件夹的目录,可进行调试。
对于不需要调试的C程序,可利用预装好code runner(装好后窗口右上角会多出一排按钮)直接点击编译运行,在下方终端中可进行数据的输入与输出。
注意在调试方法下运行C程序,需在return前下断点或中断函数等方法使程序到执行出口前停下,否则可能会出现预料之内的闪退。
6.通用的C语言debug方法
vscode下的调试工具非常方便,对于需要调试的代码,可在对应行的行数前鼠标左键单击,即可下断点,右键断点,可对断点进行简单管理,如禁用或修改为逻辑断点

常用快捷键下的调试: F5进入调试 F10单步跳过 F11单步执行(可进入执行函数体) Shift+F5 Ctrl+Shift+F5重启调试
对于调试异常终止,若不能正常重新启动调试的,重启vscode试试
若上述操作存在无响应的,试试万能的以管理员方式启动大法。
7.常见问题与解决方案(不定时更新)
对于程序中含中文调试程序显示乱码的:右下角-UTF8-通过编码保存-输入gb2312回车
对于打开程序发现原本应该是中文的乱码的:右下角-UTF8-通过编码重新打开-输入gb2312回车
再整理:Visual Studio Code(vscode)下的通用C语言环境搭建的更多相关文章
- Visual Studio Code (VSCode) 配置 C/C++ 开发编译环境
前言 工作多年,突然发现很多C++的基础都忘记了,加之C++不断更新换代后的各种新特性,于是想重拾C++的基础学习.虽然现在工作都是Linux平台,但考虑到个人方便,自己也仅仅想重温语法,家里家外都可 ...
- 再整理:Visual Studio Code(vscode)下的基于C++的OpenCV的最新搭建攻略解析
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://www.cnblogs.com/czlhxm/p/13848278.ht ...
- Visual Studio Code (vscode) 配置 C / C++ 环境
Visual Studio Code (vscode) 配置 C / C++ 环境 昨天突发奇想,想使用vscode配置C++环境,因为不想下载 Dev OR codeblock,然后借助了很多网上教 ...
- 用Visual Studio Code Debug世界上最好的语言(Mac篇)
用Visual Studio Code Debug世界上最好的语言(Mac篇) 首先,你要有台Macbook Pro,接着才继续看这个教程. PS:Windows用户看这里用Visual Studio ...
- 用Visual Studio Code Debug世界上最好的语言
前言 这阵子因缘巧合接手了一个辣鸡项目,是用世界上最好的拍黄片写的,项目基本是另一个小伙伴在撸码,我就兼职打杂和发布做点运维的工作. 然后昨天项目上了测试版之后,一用起来Error满天飞了.让小伙伴查 ...
- Visual Studio Code 1.0发布:100+语言,300+pull请求,1000+扩展
在第一个预览版发布一年后,微软发表了Visual Studio Code 1.0. 在//BUILD 2015大会上,微软宣布,他们的一个团队需要几个月来创建Visual Studio Code的第一 ...
- visual studio 2019 + cmake 实现windows linux跨平台开发环境搭建
visual studio 2019开始支持cmake跨平台开发. 以前cmake项目需要先生成vs项目,然后vs直接使用vs项目开发.现在可以直接用vs2019创建或打开cmake项目. 使用vis ...
- Visual studio code (vscode)
调东西 : 左上角 File -> Preferences -> Workspace Settings ( User Settings 也可以, 它是 for 所有的 project, W ...
- IntelliJ idea webstrom Visual Studio Code vscode 设置cmder为默认终端 Terminal
1.系统环境win10 2.确保环境变量中存在CMDER_ROOT,没有的话新增一个.地址为*:\***\cmder . idea.webstrom:设置中搜索terminal,shell path ...
随机推荐
- 织梦DEDE分类信息实现联动筛选(支持多条件多级选项)解决方案
发布时间:2017-03-25 来源:未知 浏览:404 关键词: 很多织梦建站的站长在做产品列表页的时候,产品分类多而且都是关联的,用户不能快速的找到自己需要的东西,很多情况下都需要用到筛选功能,织 ...
- Java 网络爬虫,就是这么的简单
这是 Java 网络爬虫系列文章的第一篇,如果你还不知道 Java 网络爬虫系列文章,请参看 学 Java 网络爬虫,需要哪些基础知识.第一篇是关于 Java 网络爬虫入门内容,在该篇中我们以采集虎扑 ...
- ElasticSearch实战系列三: ElasticSearch的JAVA API使用教程
前言 在上一篇中介绍了ElasticSearch实战系列二: ElasticSearch的DSL语句使用教程---图文详解,本篇文章就来讲解下 ElasticSearch 6.x官方Java API的 ...
- mysql库复制
一.使用navicate复制mysql库 二.使用命令 通过命令:1.创建新数据库CREATE DATABASE `newdb` DEFAULT CHARACTER SET UTF8 COLLATE ...
- Nginx的基本安装配置
Centos7安装nginx 升级nginx 升级可能遇到问题(我没有遇到, 参考的另一篇文章描述的) 检查nginx版本, 确认安装成功 nginx配置文件 虚拟主机配置 配置文件中可以用的全局变量 ...
- Javascript设计模式——建造者模式
建造者模式是相对比较简单的一种设计模式,属于创建型模式的一种: 定义:将一个复杂的对象分解成多个简单的对象来进行构建,将复杂的构建层与表现层分离,使相同的构建过程可以创建不同的表示模式: 优点: ...
- Golang 实现设计模式 —— 装饰模式
概念 "用于代替继承的技术,无需通过继承增加子类就能扩展对象的新功能" "动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活" 何时 ...
- python基本数据类型及常用功能
1.数字类型 int -int(将字符串转换为数字) a = " print(type(a),a) b = int(a) print(type(b),b) num = " v = ...
- 加密解密 之base系列编码
Base16 Base16编码使用16个ASCII可打印字符(数字0-9和字母A-F)对任意字节数据进行编码.Base16先获取输入字符串每个字节的二进制值(不足8比特在高位补0),然后将其串联进来, ...
- LeetCode初级算法--字符串01:反转字符串
LeetCode初级算法--字符串01:反转字符串 搜索微信公众号:'AI-ming3526'或者'计算机视觉这件小事' 获取更多算法.机器学习干货 csdn:https://blog.csdn.ne ...