vscode配置文件

vscode配置文件

task就是编译文件的指令,可以理解为执行g++命令。
lunch是调试命令,可以理解为对编译好的文件夹执行gdb命令。

单文件调试编译,做题时常用

task.json

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "Build",
            "command": "F:\\mingw64\\bin\\g++.exe", //本地g++,用g++编译
            "args": [
                "-fdiagnostics-color=always",
                "-g",                             //可调试
                "${file}",                        //只编译当前文件
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe" //生成可执行文件名就是当前文件的名字.exe
            ],
            "options": {
                "cwd": "${fileDirname}"  //编译的时候切换到文件所在目录
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "调试器生成的任务。"
        }
    ],
    "version": "2.0.0"
}

lunch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch", 
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}\\Maintest.exe",  //要调试的可执行文件名
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",   //执行调试时切换到工作区的目录
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "F:\\mingw64\\bin\\gdb.exe",// 自己电脑的gdb
            "preLaunchTask": "Build",//这里和task.json的label相对应
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
 
        }
    ]
}

用cmake多文件编译

lunch.json都一样
task.json如下

{
	"version": "2.0.0",
	"options": {
		"cwd": "${workspaceFolder}/build" //执行时切换到工作空间下面的build目录(外部构建)
	},
	"tasks": [						//执行的任务组tasks
		{							//第一个任务
			"type": "shell",		//在shell中执行cmake命令
			"label": "cmake",
			"command": "cmake",
			"args": [				//cmake参数,..是外部构建
				"..",
				"-G MinGW Makefiles" //windows下用MinGW的makefile生成可调试文件
			],
		},
		{							//第二个任务
			"label": "make",              
			"command": "mingw32-make",  //Windows下的make命令
			"args": [
				"-I include F:\\mingw64\\lib\\gcc\\x86_64-w64-mingw32\\8.1.0\\include"            //参数 -I包含头文件include文件夹,和编译器的include文件夹
			],
			"group": {
				"kind": "build",
				"isDefault": true
			}
		},
		{
			"label": "Build",		//Build和lunch中是对应的,表示lunch调试前会先执行这个Build任务,而Build又依赖于上面cmake和make两个任务,并且先执行cmake再执行make任务。
			"dependsOrder": "sequence",
			"dependsOn":[
				"cmake",
				"make"
			]
		}
	]
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值