要想进行debug,launch.json文件并不是必须的,只要有 tasks.json 文件即可。

最新操作:

0.安装MinGW,将其bin目录加入到系统变量的PATH中;在vs code中安装C/C++插件

1.打开你的 cpp 文件,按F1(或Shift + Ctrl + P)

2.输入C++,选择C/C++: Build and Debug Active File,后面选g++

3.如果弹框提示错误,点击Abort,进行下面的4

4.切换到自动生成的 tasks.json 文件,删除或注释该文件中的 type: shell一行

5.切换回你的 cpp 文件,重复步骤1和2,就能正常进入debug状态了

觉得还不直观的小伙伴看下图:

遇到 debug 时 STL容器中的值无法查看的问题,看我这篇文章 Windows中VS code无法查看C++ STL容器的值- 解决方法- by Bravo Yeung.

该问题下的回答已经挺多了,针对Windows,我来写个最简单的版本吧,并教你如何避开可能的坑~

在官网教程https://code.visualstudio.com/docs/cpp/config-mingw的基础上稍微调整一下即可。

如果在Windows上用过gdb编译过C++,一般都会对 MinGW有印象,Windows版的Eclipse for C++/Dev C++等都是基于MinGW来做的。于是我们在Windows上要想在VS code中用gdb的环境,同样需要先配置好MinGW的环境。

下面说说配置环境的主要步骤:

打开放.cpp代码的文件夹,在该目录下右击Open with code

微软官方的 C/C++插件

https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools

有需要还可以对该插件进行配置:

如果你安装了 Windows Terminal,还可以进行如下设置:

文件->首选项->设置->用户->拓展-> Run Code Configuration

找到Run In Terminal勾选上

下载地址: Mingw-w64

安装:

运行安装包,对于Architecture的选项,选择x8664,然后下一步及后面的操作都按默认的来就好~

打开系统属性,在PATH变量中加入 bin 目录,比如我的路径是 D:\Program Files\mingw-w64\x8664-8.1.0-posix-seh-rtv6-rev0\mingw64\bin,加上去,关闭所有的cmd,重新打开cmd即可.

按快捷键Ctrl + Shift + P 搜索 Task,选择 Tasks: Configure Default Build Task

下一步选择 g++

会看到一个默认的tasks.json文件,

由于已经为g设置好了系统变量中的PATH,于是command的完整路径command: D:\\Program Files\\mingw-w64\\x8664-8.1.0-posix-seh-rtv6-rev0\\mingw64\\bin\\g++.exe可以简写为 g++。

我自己用的最终版tasks.json为:

另外,需要删除这个默认 json 文件中的 type: shell,接下来按快捷键ctrl+shift+B就可以build了。

按F5,会弹出下面的框框:

选C++(Windows)即可~

会弹出默认的 launch.json 文件,将该内容替换为官方教程 https://code.visualstudio.com/docs/cpp/config-mingw 中的 launch.json文件.

由于已经为g++设置好了系统变量中的PATH,于是miDebuggerPath的完整路径可简化为 gdb。

于是综上,可得到精简版 launch.json:

我自己用的最终版launch.json为:

另外还需要注意的是:

launch.json中的preLaunchTask需要与 tasks.json中的label 一致,比如:

launch.json中的preLaunchTask值为compile

而tasks.json中Label的值也需要为compile:

接下来在代码中加上断点,就可以按F5愉快地进行debug了。

vs code怎么编译C语言,Visual Studio Code 如何编写运行 C、C++ 程序?相关推荐

  1. 带你掌握Visual Studio Code的格式化程序

    摘要:Visual Studio Code 中的所有语言都可以使用其中一种自动格式化程序进行格式化,并且 Python 扩展还支持 linter. 本文分享自华为云社区<Visual Studi ...

  2. 使用 Visual Studio Code 运行 Java 程序

    参考1:运行Java程序 1. 使用 Visual Studio Code 运行 C# 及 Java 程序 使用 Visual Studio Code 运行 C# 及 Java 程序 Visual S ...

  3. Visual Studio Code连接SQL SERVER 2019

    Visual Studio Code连接SQL SERVER 2019 Visual Studio Code 是一个运行于 OS X.Windows 和 Linux 之上的多种编程语言支持的IDE,基 ...

  4. Visual Studio Code 开发 .NET Core 看这篇就够了

    来源:依乐祝 cnblogs.com/yilezhu/p/9926078.html 在本文中,我将带着大家一步一步的通过图文的形式来演示如何在Visual Studio Code中进行.NET Cor ...

  5. 在Visual Studio Code中配置GO开发环境

    一.GO语言安装 详情查看:GO语言下载.安装.配置 二.GoLang插件介绍 对于Visual Studio Code开发工具,有一款优秀的GoLang插件,它的主页为:https://github ...

  6. Microsoft Visual Studio Code

    Microsoft Visual Studio Code 中文手册:https://www.cntofu.com/book/98/README.md Visual Studio Code 官网:htt ...

  7. Visual Studio Code预览版Ver 0.3.0试用体验

    当你开始阅读这篇文章时,请先不要把Visual Studio Code和.net.Windows联想到一起,因为VS Code是一个跨平台,支持30多种语言的开箱代码编辑器.不管你是.Net.Java ...

  8. 使用Visual Studio Code进行由内而外的C#开发

    目录 介绍 背景 使用代码 配置项目生成过程以交付已编译的DLL文件 类库代码 控制台应用程序,用于使用PizzaLib订购和交付比萨饼 兴趣点 本文介绍有关文本编辑器或Visual Studio C ...

  9. Visual Studio Code(VS Code)入门

    Visual Studio Code is a popular text editor or code editor to write queries and codes for developers ...

最新文章

  1. python打印表格_使用 Python 打印漂亮的表格,这两项基本功你可会?
  2. linux lftp lftpget 命令简介
  3. Compmgmtlauncher.exe问题解决方法
  4. java feature get_Java ShapeFeature.getLocations方法代码示例
  5. java文件不存在就创建_Java中创建并写文件的5种方式
  6. 07丨行锁功过:怎么减少行锁对性能的影响
  7. C字符数组赋值(转)
  8. 如何完成一次Apache的版本发布
  9. 在线JSON转sarcastic工具
  10. 如何让测试同学理解并发锁
  11. 有的同学提出安全问题
  12. 20172327 2017-2018-2 《程序设计与数据结构》第九周学习总结
  13. 详解netty原理分析
  14. 零至二岁宝宝故事(一)
  15. 面向过程的结构化程序设计分三种基本结构
  16. 优质的石材 石头VRay材质球素材推荐,不容错过
  17. MATLAB图中图局部放大几种方法
  18. Cocos-js快速上手
  19. 1.4 milk3 倒牛奶
  20. D3D12常用术语与函数

热门文章

  1. 【codevs1946】【BZOJ2434】阿狸的打字机,AC自动机练习
  2. c# contains方法_HTML5系列之新的API(新操作方法、文件获取、地理定位、音视频、摄像头等)
  3. 【英语学习】【Level 08】U01 Let's Read L2 Of fairies and princesses
  4. 【英语学习】【WOTD】lacuna 释义/词源/示例
  5. 74ls90设计十进制计数器电路图_利用555与74ls90制作电子秒表
  6. 公网ip和私网ip的区别_自带公网IP上阿里云
  7. 计算机多媒体专业是什么专业,什么是计算机多媒体技术
  8. 跑分cpu_英特尔Rocket Lake 8核心和16线程CPU跑分泄漏
  9. python操作mongodb数据库-删除集合、集合数据
  10. 回答一下这些游戏帧数有关的问题吗?