当前位置: 首页 > news >正文

C++ | Vscode配置

文章目录

  • 配置文件
    • c_cpp_properties.json文件配置
    • launch.json文件配置
    • tasks.json文件配置
  • 修改配置参数
    • 解决VSCode调试C/CPP,CMD闪退
    • 将程序运行在外部控制台【推荐】
    • 收纳生成的 exe 可执行文件

配置文件

在.vscode文件夹下创建三个文件:c_cpp_properties.jsonlaunch.json、``

c_cpp_properties.json文件配置

  1. 复制下面的配置信息
{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceRoot}",
                "c:/mingw/include/**",
                "c:/mingw/bin/../lib/gcc/mingw32/8.2.0/include/c++",
                "c:/mingw/bin/../lib/gcc/mingw32/8.2.0/include/c++/mingw32",
                "c:/mingw/bin/../lib/gcc/mingw32/8.2.0/include/c++/backward",
                "c:/mingw/bin/../lib/gcc/mingw32/8.2.0/include",
                "c:/mingw/bin/../lib/gcc/mingw32/8.2.0/../../../../include",
                "c:/mingw/bin/../lib/gcc/mingw32/8.2.0/include-fixed"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "__GNUC__=6",
                "__cdecl=__attribute__((__cdecl__))"
            ],
            "intelliSenseMode": "msvc-x64",
            "browse": {
                "limitSymbolsToIncludedHeaders": true,
                "databaseFilename": "",
                "path": [
                    "${workspaceRoot}",
                    "c:/mingw/include/**",
                    "c:/mingw/bin/../lib/gcc/mingw32/8.2.0/include/c++",
                    "c:/mingw/bin/../lib/gcc/mingw32/8.2.0/include/c++/mingw32",
                    "c:/mingw/bin/../lib/gcc/mingw32/8.2.0/include/c++/backward",
                    "c:/mingw/bin/../lib/gcc/mingw32/8.2.0/include",
                    "c:/mingw/bin/../lib/gcc/mingw32/8.2.0/../../../../include",
                    "c:/mingw/bin/../lib/gcc/mingw32/8.2.0/include-fixed"
                ]
            }
        }
    ],
    "version": 4
}
  1. 打开cmd,搜索
 gcc -v -E -x c++ -
  1. 修改 “includePath” 和 “Path”,将图示这几行代替其中路径即可
    在这里插入图片描述

launch.json文件配置

根据自己路径修改 "miDebuggerPath"

{  
    "version": "0.2.0",  
    "configurations": [  
        {  
            "name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示  
            "type": "cppdbg",       // 配置类型,这里只能为cppdbg  
            "request": "launch",    // 请求配置类型,可以为launch(启动)或attach(附加)  
            "program": "${workspaceFolder}/exe/${fileBasenameNoExtension}.exe",// 将要进行调试的程序的路径  
            "args": [],             // 程序调试时传递给程序的命令行参数,一般设为空即可  
            "stopAtEntry": false,   // 设为true时程序将暂停在程序入口处,一般设置为false  
            "cwd": "${workspaceFolder}", // 调试程序时的工作目录,一般为${workspaceFolder}即代码所在目录  
            "environment": [],  
            "externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台  
            "MIMode": "gdb",  
            "miDebuggerPath": "D:/MinGW/bin/gdb.exe", // miDebugger的路径,注意这里要与MinGw的路径对应  
            "preLaunchTask": "g++", // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc  
            "setupCommands": [  
                {   
		    "description": "Enable pretty-printing for gdb",  
                    "text": "-enable-pretty-printing",  
                    "ignoreFailures": true  
                }  
            ]  
        }  
    ]  
}

tasks.json文件配置

{
    "version": "2.0.0",
    "command": "g++",
    "args": [
        "-g",
        "${file}",
        "-o",
        "${workspaceFolder}/exe/${fileBasenameNoExtension}.exe"
    ], // 编译命令参数
    "problemMatcher": {
        "owner": "cpp",
        "fileLocation": [
            "relative",
            "\\"
        ],
        "pattern": {
            "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
            "file": 1,
            "line": 2,
            "column": 3,
            "severity": 4,
            "message": 5
        }
    }
}

修改配置参数

解决VSCode调试C/CPP,CMD闪退

上述代码以及修改过了:"program": "C:\\Windows\\System32\\cmd.exe",

将程序运行在外部控制台【推荐】

打开.vscode 文件夹下的 launch.json 文件,找到 "externalConsole": false, 将 false 改为true并保存。

收纳生成的 exe 可执行文件

  1. 打开.vscode 文件夹下的 task.json 文件,找到 "${fileDirname}\\${fileBasenameNoExtension}.exe"
  2. 修改成"${fileDirname}\\bin\\${fileBasenameNoExtension}.exe"并保存,同理,launch.json 下也有相同的字段,需要你修改
  3. 在源文件同目录下新建 bin文件夹,程序运行后,可执行文件将会生成在里面(其中 bin 可修改成你喜欢的英文名字)

相关文章:

  • i.MX 6ULL 驱动开发 十四:LED(paltform驱动框架)
  • 学习python的第四天
  • C++ | 12天学好C++ (Day 10)->结构图可视化、代码加通俗理解
  • 十四、基于FPGA的SDI协议介绍(二)
  • 8 个精彩的免费 G​​IS 软件资源分享
  • 经典例题(二)——超经典例题的归纳总结
  • 云原生DevOps篇:使用Pipeline流水线将know-system项目自动化发版到Kubernetes集群
  • Flyweight(亨元模式)
  • 二手罗德与施瓦茨FSH4 FSH3手持频谱分析3.6GHz
  • 为什么C语言能长盛不衰?
  • 内网穿透,使开发者本地服务可让用户在非局域网内访问
  • 【PyTorch深度学习项目实战100例】—— 基于LSTM实现春联上联对下联 | 第14例
  • 毕业设计 基于51单片机的车辆防追尾系统 - 物联网 嵌入式
  • 【云原生】devops之jenkins中pipeline语法(1)
  • 工作几年,涨薪3K遭拒,后一天我就裸辞走了···
  • Google 是如何开发 Web 框架的
  • 【108天】Java——《Head First Java》笔记(第1-4章)
  • JAVA SE 6 GC调优笔记
  • JavaScript设计模式系列一:工厂模式
  • java正则表式的使用
  • jdbc就是这么简单
  • Laravel 实践之路: 数据库迁移与数据填充
  • LeetCode18.四数之和 JavaScript
  • MYSQL 的 IF 函数
  • Redis 懒删除(lazy free)简史
  • tweak 支持第三方库
  • 大型网站性能监测、分析与优化常见问题QA
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 服务器之间,相同帐号,实现免密钥登录
  • 记一次用 NodeJs 实现模拟登录的思路
  • 蓝海存储开关机注意事项总结
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • MPAndroidChart 教程:Y轴 YAxis
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • 湖北分布式智能数据采集方法有哪些?
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • ​决定德拉瓦州地区版图的关键历史事件
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (2.2w字)前端单元测试之Jest详解篇
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (C#)获取字符编码的类
  • (day 12)JavaScript学习笔记(数组3)
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (蓝桥杯每日一题)love
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • (转)EXC_BREAKPOINT僵尸错误
  • .jks文件(JAVA KeyStore)
  • .NET Core Web APi类库如何内嵌运行?