版权声明:本文为博主原创文章,遵循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语言环境搭建的更多相关文章

  1. Visual Studio Code (VSCode) 配置 C/C++ 开发编译环境

    前言 工作多年,突然发现很多C++的基础都忘记了,加之C++不断更新换代后的各种新特性,于是想重拾C++的基础学习.虽然现在工作都是Linux平台,但考虑到个人方便,自己也仅仅想重温语法,家里家外都可 ...

  2. 再整理:Visual Studio Code(vscode)下的基于C++的OpenCV的最新搭建攻略解析

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://www.cnblogs.com/czlhxm/p/13848278.ht ...

  3. Visual Studio Code (vscode) 配置 C / C++ 环境

    Visual Studio Code (vscode) 配置 C / C++ 环境 昨天突发奇想,想使用vscode配置C++环境,因为不想下载 Dev OR codeblock,然后借助了很多网上教 ...

  4. 用Visual Studio Code Debug世界上最好的语言(Mac篇)

    用Visual Studio Code Debug世界上最好的语言(Mac篇) 首先,你要有台Macbook Pro,接着才继续看这个教程. PS:Windows用户看这里用Visual Studio ...

  5. 用Visual Studio Code Debug世界上最好的语言

    前言 这阵子因缘巧合接手了一个辣鸡项目,是用世界上最好的拍黄片写的,项目基本是另一个小伙伴在撸码,我就兼职打杂和发布做点运维的工作. 然后昨天项目上了测试版之后,一用起来Error满天飞了.让小伙伴查 ...

  6. Visual Studio Code 1.0发布:100+语言,300+pull请求,1000+扩展

    在第一个预览版发布一年后,微软发表了Visual Studio Code 1.0. 在//BUILD 2015大会上,微软宣布,他们的一个团队需要几个月来创建Visual Studio Code的第一 ...

  7. visual studio 2019 + cmake 实现windows linux跨平台开发环境搭建

    visual studio 2019开始支持cmake跨平台开发. 以前cmake项目需要先生成vs项目,然后vs直接使用vs项目开发.现在可以直接用vs2019创建或打开cmake项目. 使用vis ...

  8. Visual studio code (vscode)

    调东西 : 左上角 File -> Preferences -> Workspace Settings ( User Settings 也可以, 它是 for 所有的 project, W ...

  9. IntelliJ idea webstrom Visual Studio Code vscode 设置cmder为默认终端 Terminal

    1.系统环境win10 2.确保环境变量中存在CMDER_ROOT,没有的话新增一个.地址为*:\***\cmder . idea.webstrom:设置中搜索terminal,shell path  ...

随机推荐

  1. C语言——2019秋季作业

    1.[你对软件工程专业或者计算机科学与技术专业专业了解是怎样? ] 答:1.软件工程专业是2002年国家教育部新增专业,随着计算机应用领域的不断扩大及中国经济的不断发展,软件工程专业成为一个新的热门专 ...

  2. PHP 正则表达式的简单应用以 preg_match_all 抓取HTML元素为例 [转载]

    PHP 正则表达式的简单应用以 preg_match_all 抓取HTML元素为例 2011-12-02 17:09:39|  分类: PHP|举报|字号 订阅     下载LOFTER我的照片书   ...

  3. python process

    原文:https://www.cnblogs.com/LY-C/p/9145729.html 使用process模块可以创建进程 from multiprocessing import Process ...

  4. Django基础五之django模型层之关联管理器

    class RelatedManager "关联管理器"是在一对多或者多对多的关联上下文中使用的管理器.它存在于下面两种情况: ForeignKey关系的“另一边”.像这样: 1 ...

  5. Java 语言的发展史

    维基百科引入 早期的Java 语言最开始只是Sun计算机(Sun MicroSystems)公司在1990年12月开始研究的一个内部项目.Sun计算机公司的一个叫做帕特里克·诺顿的工程师被公司自己开发 ...

  6. 记录JS如何使用广度遍历找到节点的所有父节点

    我们在实际的工作业务场景中经常遇到这样的场景,求取树数据中某个节点的父亲节点以及所有的父亲节点,这样的场景下不建议使用深度遍历,使用广度遍历可以更快找到. 1.案例解说 比如树的长相是这样的: 树的数 ...

  7. Salesforce学习之路-developer篇(四)Visualforce结合Reports展示图表

    Salesforce作为一款CRM系统,个人觉得最重要的环境便是在于数据的展示和联动,而Salesforce也本身提供了相当强大的功能,Report在展示图表的方面十分强大,前段时间更是宣布以157亿 ...

  8. STM32串口IAP分享

    什么是IAP? IAP是In Application Programming的首字母缩写,IAP是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发布后可以方便地通 ...

  9. PHP弱性处理0e开头md5哈希字符串缺陷/bug

    PHP在处理哈希字符串时,会利用”!=”或”==”来对哈希值进行比较,它把每一个以”0E”开头的哈希值都解释为0,所以如果两个不同的密码经过哈希以后,其哈希值都是以”0E”开头的,那么PHP将会认为他 ...

  10. [HDU5001]Walk

    Problem Description I used to think I could be anything, but now I know that I couldn't do anything. ...