集一众大佬的精华所做关于vscode同时配置c/c++和python的调试脚本_vscode同时写python和c++_伏虎山真人的博客-程序员资料

技术标签: visual studio code  c语言  windows  

该文章是我的经验总结,网集c站大佬关于c/c++和python配置的文章最后成功配置出了c/c++和python的调试设置的json格式文件
直接上代码
首先是launch.json文件
1.建立launch.json(不知道怎么建?没关系请按f5)
2.看着vscode默认的文件,不要急不要慌,小白不需要知道怎么多,直接对照我的文件操作,就算操作错误,直接删了重新来
在这里插入图片描述

{
    
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
    
            "name": "Python: 当前文件",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal"
        },
        {
    
            "name": "gcc.exe - 生成和调试活动文件",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "miDebuggerPath": "D:\\x86_64-8.1.0-release-posix-seh-rt_v6-rev0\\mingw64\\bin\\gdb.exe",#**这个地方换成你的minw里的gdb的地址**
            "setupCommands": [
                {
    
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "task g++"
        }
    ]

3.复制我的文件,直接粘贴上去。
4.修改个地方 “miDebuggerPath”:这个地方换成你的minw里的gdb的地址

然后我们上第二个文件
task.json
1.创建task.json(还是老套路,回到你创建launch.json时的那个文件,再按一遍f5,然后点击配置任务。)
在这里插入图片描述
不跟你吹,老简单了
2.

{
    
	"version": "2.0.0",
	"tasks": [
		{
    
			"type": "shell",
			"label": "task g++",
			"command": "D:\\x86_64-8.1.0-release-posix-seh-rt_v6-rev0\\mingw64\\bin\\gcc.exe",
			"args": [
				"-g",
				"${file}",
				"-o",
				"${fileDirname}\\${fileBasenameNoExtension}.exe"
			],
			"options": {
    
				"cwd": "D:\\x86_64-8.1.0-release-posix-seh-rt_v6-rev0\\mingw64\\bin"
			},
			"problemMatcher": [
				"$gcc"
			],
			"group": "build"
		}
	]
}

这个地方你需要观察默认文件里的command和cwd两个地方,判断这两个地方是不是正确的(结尾一般都是mingw64\bin\gcc.exe和mingw64\bin)

3.修改你的label项,这个地方必须和launch.json里的"preLaunchTask"一致。

这时基本上就可以使用c/c++的调试了
然后就是第三个文件了
c_cpp_properties.json

这个文件操作稍微多了一点
1.创建一个默认的文件

{
    
    "configurations": [
        {
    
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**", 
                "D:/x86_64-8.1.0-release-posix-seh-rt_v6-rev0/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++",
                "D:/x86_64-8.1.0-release-posix-seh-rt_v6-rev0/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32",
                "D:/x86_64-8.1.0-release-posix-seh-rt_v6-rev0/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward",
                "D:/x86_64-8.1.0-release-posix-seh-rt_v6-rev0/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include",
                "D:/x86_64-8.1.0-release-posix-seh-rt_v6-rev0/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed",
                "D:/x86_64-8.1.0-release-posix-seh-rt_v6-rev0/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "compilerPath": "D:\\x86_64-8.1.0-release-posix-seh-rt_v6-rev0\\mingw64\\bin\\gcc.exe",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "clang-x64"
        }
    ],
    "version": 4
}

2.上面时完整版文件,观察我的文件,你可以看到我的includePath里多了几行。这时你要找到属于你的这几行。
3.打开命令行(徽标+r),然后在命令行里输入cmd gcc -v -E -x c++ -
找到,复制,粘贴三步走战略.
是不是也很简单,哈哈哈
在这里插入图片描述
最后一个文件了
settings.json

{
    
    "files.associations": {
    
        "iostream": "cpp"
    },
    "files.exclude": {
    
        "**/.classpath": true,
        "**/.project": true,
        "**/.settings": true,
        "**/.factorypath": true
         },
 "pythonPath":
 }

这里是需要将你的pythonPath改为你的python的安装地址。
(settings.json不知道在哪?1.ctrl+shift+p,然后搜索settings.json 2.创建,复制,粘贴,修改四步走战略)

就这四大文件,做完就完事了,可以摁f5来测试一下
就是这么简单,看的懂中文就能做到。(骗你没有xjj)
在这里插入图片描述
要是还是失败的话,那呃呃呃呃呃呃呃呃
在这里插入图片描述

看帖的朋友请不要问我,这几个文件是什么意思,我也不知道,好好学英语,将来到官方文档查看。既然你能在csdn搜索到我,看我的文章来配置而不是去官方文档,那咱们的英语水平应该差不多,祝各位兄弟姐妹们学业进步,水平越来越高。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_46325250/article/details/105567318

智能推荐

在iOS中,摄像头录制的视频是mov格式的,虽然mov兼容mp4,但是有些需求需要用到mp4格式的视频文件。_dongyangTan的博客-程序员资料

AVURLAsset *avAsset = [AVURLAsset URLAssetWithURL:[NSURL fileURLWithPath:path] options:nil];NSArray *compatiblePresets = [AVAssetExportSession exportPresetsCompatibleWithAsset:avAsset];if ([compati

PHP-GTK介绍_ythzjk的博客-程序员资料

1. PHP-GTK介绍1.1 PHP-GTKPHP-GTK是PHP的延伸模组,它可以让程式设计师写出在客户端执行的、且独立的GUI的程式。这个模组不允许在浏览器上显视GTK+的程式,它一开始就是开发来写独立的GUI程式的。1.2 GTKGTK原本是为GIMP,一个GUI的影像处理软体而开发的。GTK+是GIMP的套装工具。GTK+从这里开始发展,直到现在已经成为Gnome的中心(Gnome是一个...

js获取视频的第一帧图片并上传和视频时长_夕阳的云的博客-程序员资料

项目中要求上传视频的时候要自动获取第一帧作为App端的视频播放封面。1、获取视频的第一帧封面captureImage() { let that = this; // 创建视频对象 let video = new Video(); video.width = 200; vieo.height = 500; video.setAttribute('crossOrigin', 'Anonymous'); video.setAttribute('co

Uncaught TypeError: Cannot read property 'attachRouteMatched' of undefined_汪子熙的博客-程序员资料

UIComponent,constructor:try { Component.apply(this, arguments);} catch (e) { this._destroyCreatedInstances(); throw e; }}in RouteMatchedHandler.js,oRouter.attachRouteMatched(th...

Flume之——Flume读取日志数据写入Kafka_flume 写入kafka_冰 河的博客-程序员资料

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/79366155一、Flume配置flume要求1.6以上版本flume-conf.properties文件配置内容,sinks的输出作为kafka的producta1.sources = r1a1.sinks = k1a1.channels = c1# Describe/co...

随便推点

资料 | 2021年开源SLAM算法集锦_3D视觉工坊的博客-程序员资料

本文汇总2021年公布的SLAM相关工作,后台回复“2021SLAM”可获得本文全部论文。1.TANDEM:Tracking and Dense Mapping in Real-time ...

python与java 时间戳的区别与转换_free0006的博客-程序员资料

和java不同的是在python下获取的时间戳是有小数点的浮点数,而在java中用new Date()获取的时间戳是一个整数,那么如果你想对JAVA生成的时间戳转换成python的话除以1000就可以了 获取当前时间的时间戳:import timetime.time() 获取特定时间的时间戳:import datetime,time  s=datetime.dat...

UML中的用例(Use Case)概念分析及StarUML实例 _liuguizi的博客-程序员资料

  UML中的用例(Use Case)概念分析及StarUML实例 收藏UML中的用例(Use Case)概念分析及StarUML实例在UML中use case似乎最簡單的,用例建模的最主要功能就是用来表达系统的功能性需求或行为,依我的理解用例建模可分为用例图和用例描述。用例图由参与者(Actor)、用例(UseCase)、系统边界、箭头组成,用画图的方法来完成。用例描述用来详细描述用例图中每个用例,用文本文档来完成,以及由箭头所组成的各种关系,包括泛

连接蓝牙设备方式总结_webbluetooth ibeacon_wxban的博客-程序员资料

一、在浏览器端(包含手机浏览器、电脑浏览器)1、使用Weex蓝牙开发Github项目地址:https://github.com/lixing123/weex-bluetooth参考文:https://blog.csdn.net/lixing333/article/details/72673261注意事项:目前只支持iOS,未支持Android。不支持多设备同时连接 2、使用Web Bluetoot...

基于VxWorks的VxBus字符设备驱动_hcfdevicelist_Escropion的博客-程序员资料

基于VxWorks的VxBus字符设备驱动VxBus是指在 VxWorks 中用于支持设备驱动的特有的架构,这种架构包含对minimal BSP的支持。它包括以下功能:允许设备驱动匹配对应设备;提供驱动程序访问硬件的机制;软件其他部分访问设备功能;在VxWorks系统中,实现设备驱动的模块化。VxBus是Vxworks的模块化机制,类似于linux中的module。通过VxBus可以对模块

本地Windows远程桌面连接阿里云Ubuntu服务器:_qq_1021540607的博客-程序员资料

本地Windows远程桌面连接阿里云Ubuntu服务器:(1)首先通过xshell连接Ubuntu服务器,切换到root权限(工具:xshell,securecrt,putty等)。xshell下载地址:https://xshell.en.softonic.com/安装更新:sudo apt-get upate安装xrdp:输入sudo apt-get install xrdp–>回车–>输入"y"–>回车,安装完成。 (xrdp: An open source remote

推荐文章

热门文章

相关标签