vscode如何配置c/c++环境

下载

  1. Mingw

参考链接:https://blog.csdn.net/jiqiren_dasheng/article/details/103775488

  1. 笔者下载的x86_64-8.1.0-release-win32-sjlj离线包存放在百度网盘,需要的读者可以前往取用。
  2. 链接:https://pan.baidu.com/s/17hp8J_VDJwc9HjuocPBn4A
  3. 提取码:ulaj
  1. 下载VS Code,官网下载地址,Github托管地址;

安装

安装VS Code

下载好VS Code后,安装时可以自己选择安装路径,其他的添加在windows右键菜单创建

参见链接:https://www.php.cn/tool/vscode/450800.html

安装Mingw-w64

安装Mingw-w64时,在Architecture一栏如果32位就选i686,如果64位就选择x86_64,其他的默认就好。安装目录我自定在d盘

安装C/C++支持插件

打开VS Code在插件商店搜索C/C++这个插件进行安装。

配置

新建一个文件夹,然后,右键选择用VS Code打开,打开之后新建一个.c文件,进行环境配置。

配置 launch.json文件

点击左边活动栏的调试按钮,然后,点击配置按钮选择环境C++(GDB/LLDB);

参见这个图片

之后在这个文件夹里会多出一个文件夹.vscode,这个文件夹里会生成一个json文件——launch.json,然后将下面的代码替换掉里面的代码;

  1. {
  2. "version": "0.2.0",
  3. "configurations": [
  4. {
  5. "name": "(gdb)c_launch",
  6. "type": "cppdbg",
  7. "request": "launch",
  8. "targetArchitecture": "x64",
  9. "program": "${workspaceFolder}/${fileBasenameNoExtension}.exe",
  10. "miDebuggerPath": "D:/init_all/vscode_editor/Mingwgcc/mingw64/bin/gdb.exe",
  11. "MIMode": "gdb",
  12. "args": [],
  13. "stopAtEntry": false,
  14. "cwd": "${workspaceRoot}",
  15. "environment": [],
  16. "internalConsoleOptions": "openOnFirstSessionStart",
  17. "externalConsole": true,
  18. "preLaunchTask": "gcc"
  19. }
  20. ]
  21. }

其中,第12行的*targetArchitecture*根据自己所需的构架来更改,第14行的*miDebuggerPath*需要按照Mingw-w64的安装目录来更改,其他的默认就好;

配置 tasks.json文件

在状态栏上选择Terminal,在下拉选项中选择configTure Tasks...;然后选择使用模板创建 tasks.json 文件这个选项;

接着就是选择Others 运行任意外部命令的示例这个选项;参考链接

随之则会生成一个tasks.json的文件,然后将下面的代码替换掉里面的代码;

tasks.json

  1. {
  2. // See https://go.microsoft.com/fwlink/?LinkId=733558
  3. // for the documentation about the tasks.json format
  4. "version": "2.0.0",
  5. "command": "gcc",
  6. "args": ["-Wall", "-g", "${file}", "-o", "${fileBasenameNoExtension}.exe"],
  7. "echoCommand": true,
  8. "problemMatcher": {
  9. "owner": "cpp",
  10. "fileLocation": ["relative", "${workspaceFolder}"],
  11. "pattern": {
  12. "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
  13. "file": 1,
  14. "line": 2,
  15. "column": 3,
  16. "severity": 4,
  17. "message": 5
  18. }
  19. },
  20. "group": {
  21. "kind": "build",
  22. "isDefault": true
  23. }
  24. }

调试测试

  1. #include <stdio.h>
  2. int main(void)
  3. {
  4. int a = 1;
  5. int b = 2;
  6. int c = 0;
  7. c = a + b;
  8. printf("%d + %d = %d", a, b, c);
  9. return 0;
  10. }

还存在着一个问题——头文件哪里会出现一条绿色的波浪线,并且没有自动补全的功能;

配置 c_cpp_properties.json文件

光标放在头文件哪里会出现一个黄色的小灯泡,点击之后选择Edit "includePath" setting,随之会多出一个json文件c_cpp_properties.json,然后找到与Windows相关的头文件路径配置代码,即在"name": "Win32"的下面。根据Mingw-w64的安装路径找到头文件的所在路径,分别放在includePathpath中,即是下面有注释的地方:

c_cpp_properties.json

  1. {
  2. "configurations": [
  3. {
  4. "name": "Mac",
  5. "includePath": [
  6. "/usr/include",
  7. "/usr/local/include",
  8. "${workspaceRoot}"
  9. ],
  10. "defines": [],
  11. "intelliSenseMode": "clang-x64",
  12. "browse": {
  13. "path": [
  14. "/usr/include",
  15. "/usr/local/include",
  16. "${workspaceRoot}"
  17. ],
  18. "limitSymbolsToIncludedHeaders": true,
  19. "databaseFilename": ""
  20. },
  21. "macFrameworkPath": [
  22. "/System/Library/Frameworks",
  23. "/Library/Frameworks"
  24. ]
  25. },
  26. {
  27. "name": "Linux",
  28. "includePath": [
  29. "/usr/include",
  30. "/usr/local/include",
  31. "${workspaceRoot}"
  32. ],
  33. "defines": [],
  34. "intelliSenseMode": "clang-x64",
  35. "browse": {
  36. "path": [
  37. "/usr/include",
  38. "/usr/local/include",
  39. "${workspaceRoot}"
  40. ],
  41. "limitSymbolsToIncludedHeaders": true,
  42. "databaseFilename": ""
  43. }
  44. },
  45. {
  46. "name": "Win32",
  47. "includePath": [
  48. "C:/mingw-w64/mingw64/include",
  49. "C:/mingw-w64/mingw64/x86_64-w64-mingw32/include",
  50. //根据Mingw-w64的安装路径更改
  51. "${workspaceRoot}"
  52. ],
  53. "defines": [
  54. "_DEBUG",
  55. "UNICODE"
  56. ],
  57. "intelliSenseMode": "msvc-x64",
  58. "browse": {
  59. "path": [
  60. "C:/mingw-w64/mingw64/include",
  61. "C:/mingw-w64/mingw64/x86_64-w64-mingw32/include",
  62. //根据Mingw-w64的安装路径更改
  63. "${workspaceRoot}"
  64. ],
  65. "limitSymbolsToIncludedHeaders": true,
  66. "databaseFilename": ""
  67. }
  68. }
  69. ],
  70. "version": 3
  71. }

现在没有了绿色波浪线,也可以实现自动补全了,所以配置完成。

使用的时候注意用打断点运行,先打断点,然后F5;这样才能看到黑窗口

以上内容参考链接有

主要配置和使用:https://www.jianshu.com/p/b7cc0e36cd5f

vscode右键项目文件夹打开方法:https://www.php.cn/tool/vscode/450800.html

MinGW-w64 C/C++编译器下载和安装

https://blog.csdn.net/jiqiren_dasheng/article/details/103775488

https://pan.baidu.com/s/17hp8J_VDJwc9HjuocPBn4A

写本文的目的是结合自身实践,有些地方有出入,我来分享我自己遇到的问题以及如何解决的。

VScode如何配置c/c++运行环境的更多相关文章

  1. vsCode怎么为一个前端项目配置ts的运行环境

    vsCode为一个前端项目配置ts的运行环境,ts文件保存的时候自动编译成js文件: 假设此前端项目名称为Web:文件结构如图 1. 在根目录中新建一个“.vscode”文件夹,里面建一个“tasks ...

  2. VScode配置CMD本地运行环境(2.0)

    VScode配置CMD本地运行环境(2.0) 官方Task.json说明 完整的Task.json配置信息 Task.json预定义变量 看了很多网上的教程都说需要下载VScode的python插件, ...

  3. 配置perl-cgi的运行环境,由于Active Perl安装在d:\perl

    Apache 1.3.22 for Win32+PHP 4.0.6+Active Perl 5.006001+Zend Optimizer v1.1.0+mod_gzip 1.3.19.1a+MySQ ...

  4. AgileEAS.NET SOA 中间件平台5.2版本下载、配置学习(二):配置WinClient分布式运行环境

    一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...

  5. 腾讯云极速配置NodeJS+LNMP运行环境

    版权声明:本文由吴逸翔原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/848754001487150669 来源:腾云阁 h ...

  6. mac 安装nginx,并配置nginx的运行环境

    1. 安装nginx // 查询有没有nginx brew search nginx //开始安装nignx brew install nginx 2. 检查nignx是否安装成功 nginx -V ...

  7. docker之配置TensorFlow的运行环境

    Docker是一种 操作系统层面的虚拟化技术,类似于传统的虚拟机.传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程:而容器内的应用进程直接运行于宿主的内核,容 ...

  8. Go语言系列:(1)在VsCode中配置Go的开发环境

    一.为什么选VSCode 这个系列的初宗是带领公司的PHPer转Go,在正式写这篇博文前,咱们先说说Go有哪些主流的IDE 1.GoLand(收费) JetBrains出品必属精品,除了贵没有其它缺点 ...

  9. 珠联壁合地设天造|M1 Mac os(Apple Silicon)基于vscode(arm64)配置搭建Java开发环境(集成web框架Springboot)

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_194 也许有人从未听说过Python,但是不会有人没听说过Java,它作为一个拥有悠久历史的老牌编程语言,常年雄踞TIOBE编程语 ...

随机推荐

  1. mariadb 1

    mariadb(第一章)     数据库介绍 1.什么是数据库? 简单的说,数据库就是一个存放数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织,存储的,我们 ...

  2. Class对象、反射、动态代理

    Class对象是所有类的根源,Object是所有对象的根源. 编译后的新类会产生一个Class对象,保存在同名的.class文件中.每个类都有一个Class对象,它包含了所有的与类有关的信息.所有的C ...

  3. Unity 自己使用顶点描绘圆形UI图片

    2020-09-10 在游戏的UI中,圆形图片的需求是很高的,但是,在Unity中想要实现圆形UI,一般的做法是是使用圆形Mask(遮罩),但是使用Mask的缺点很明显,主要有三点: 1.比较麻烦,使 ...

  4. 看动画学算法之:排序-count排序

    目录 简介 count排序的例子 count排序的java实现 count排序的第二种方法 count排序的时间复杂度 简介 今天我们介绍一种不需要作比较就能排序的算法:count排序. count排 ...

  5. Java基础一篇过(七)Java8--stream流

    一.简介 流(stream)也是Java8的一个重要的新特性,主要是对集合(Collector)功能的增强:在上一篇文章我们简单的了解了lambda表达式,现在我们学习下流的概念:使用流可以帮助我们做 ...

  6. python实现随机复制若干个文件到新目录

    python实现随机复制若干个文件到新目录 1说明 1.1 目的 随机选择一个文件下的若干个文件,并将文件复制到新文件夹下 1.2 要求 需要将random_select_and_copy_file. ...

  7. Maven依赖管理之BOM

    目录 什么是BOM 一个BOM的格式 怎么使用BOM 通过parent引用 通过dependencyManagement引用 怎么查看依赖的某个BOM的具体清单 版本冲突时的一些规则 何为依赖调节 参 ...

  8. Centos-系统任务队列信息-uptime

    uptime 显示系统的当前时间.系统从启动到当前运行时间.当前总共在线用户.系统1.5.15分钟负载情况

  9. 9.23 T1 tree

    题意描述: 给你一个长度为 \(n\) 的序列,让你从中选出 \(k\) 个数组成一个集合,定义这个集合的极限高度为\(a_i...a_k\) 的最大值. 让你求所有的集合极限高度 之和对 \(100 ...

  10. windev的内部窗口传参方式及其与类的相似性

    最近的应用,需要向一个内部窗口(internal window)传参,因为官方文档的说明较为宽泛,虽然结果只有两小段代码,但也费了很大的劲.把所有关于procedure的文档看一遍,又是重新学习了一遍 ...