vscode怎么配置cpp调试环境

发布时间 - 2020-02-10 00:00:00    点击率:

安装c/c++插件

打开插件页面,搜索输入C/C++搜索C/C++插件。

安装该插件后,使用vscode打开包含cpp文件的文件夹时,vscode会添加.vscode子文件夹到目录中。

添加c_cpp_properties.json配置

通过快捷键⇧⌘P运行C/Cpp: Edit configurations,添加缺失的c_cpp_properties.json文件。默认的添加的文件如下:

{
    "configurations": [
        {
            "name": "Mac",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [],
            "macFrameworkPath": [
                "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks"
            ],
            "compilerPath": "/usr/bin/clang",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "clang-x64"
        }
    ],
    "version": 4
}

这个部分没有做什么调整。采用的是默认添加的文件。

添加tasks.json配置文件

通过快捷键⇧⌘P选择执行的命令,选择Task: Configure Task命令,选择Create tasks.json from templates,选择Others来创建一个外部命令。根据自己的编译器更换commnd选项。

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "cpp",
            "type": "shell",
            "command": "g++",
            "args": [
                "-g",
                "${file}",
                "-o",
                "a.out"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

这里需要说一点,希望对当前标签页的代码进行编译执行,因此args参数中用的是${file}。另外需要说的一点是,如果不指定输出的编译文件,会影响调试。

>> g++ -g question.cpp -o a.out

当然也可以把args中的a.out替换为${file}保持和文件名的对应。

添加launch.json配置文件

在调试界面点击运行,会提示添加launch.json配置文件。其定义了启动调试文件的相关属性。

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(lldb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/a.out",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "lldb",
            "preLaunchTask": "cpp"
        }
    ]
}

这里需要说明的有三个参数:

1、program参数,这里的文件名要和之前的保持对应,如果前面用的a.out,这里也应该是a.out。

2、externalConsole参数,悬停在上面会有说道,如果是linux等系统,将其置为false时,将会在vscode集成内输出打印内容。如果是true的话,会在外部的终端输出。为了在vscode看输出,这里设置其为false.另一个需要留意的是参数externalConsole,悬停在上面会有说道,如果是linux等系统,将其置为false时,将会在vscode集成内输出打印内容。如果是true的话,会在外部的终端输出。为了在vscode看输出,这里设置其为false。

3、preLaunchTask参数,因为每次调试都需要预先对代码进行编译,这里可以通过preLaunchTask参数指定编译任务。这里将其指定为之前的任务: cpp. 即之前task的label中的内容。

相关文章教程推荐:vscode教程


# vscode  # json  # linux  # 的是  # 会在  # 将其  # 会有  # 在上面  # 配置文件  # 其为  # 自己的  # 做什么  # 相关文章 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 北京的网站制作公司有哪些,哪个视频网站最好?  uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址  如何在 Go 中优雅地映射具有动态字段的 JSON 对象到结构体  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  焦点电影公司作品,电影焦点结局是什么?  Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决  DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解  Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】  Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程  ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】  php打包exe后无法访问网络共享_共享权限设置方法【教程】  Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知  jQuery validate插件功能与用法详解  Laravel如何使用withoutEvents方法临时禁用模型事件  微信小程序 canvas开发实例及注意事项  如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】  创业网站制作流程,创业网站可靠吗?  简单实现Android文件上传  android nfc常用标签读取总结  如何用AI帮你把自己的生活经历写成一个有趣的故事?  香港服务器租用费用高吗?如何避免常见误区?  Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践  公司门户网站制作流程,华为官网怎么做?  谷歌Google入口永久地址_Google搜索引擎官网首页永久入口  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  WordPress 子目录安装中正确处理脚本路径的完整指南  php结合redis实现高并发下的抢购、秒杀功能的实例  如何在阿里云服务器自主搭建网站?  如何在Windows虚拟主机上快速搭建网站?  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  微信小程序 require机制详解及实例代码  如何快速配置高效服务器建站软件?  python中快速进行多个字符替换的方法小结  Python自然语言搜索引擎项目教程_倒排索引查询优化案例  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  智能起名网站制作软件有哪些,制作logo的软件?  如何在腾讯云服务器上快速搭建个人网站?  Laravel怎么生成URL_Laravel路由命名与URL生成函数详解  大同网页,大同瑞慈医院官网?  Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】  北京企业网站设计制作公司,北京铁路集团官方网站?  Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制  Laravel Octane如何提升性能_使用Laravel Octane加速你的应用  ,南京靠谱的征婚网站?  如何安全更换建站之星模板并保留数据?  如何在阿里云虚拟主机上快速搭建个人网站?  千库网官网入口推荐 千库网设计创意平台入口  html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】  如何彻底删除建站之星生成的Banner?