vscode配置文件详解

vscode一般有三个配置文件,存放在.vscode文件夹下,分别是launch.json,settings.json和tasks.json

其中tasks.json主管编译过程,launch.json主管运行时环境,包括传入实参、路径等. settings.json是各种插件的配置,以及本地的配置,对应的是(工作区,本地,远端)中的本地,当然本地是具有相对意义的,这里指的啥当前运行环境的配置,级别低于工作区配置.

task.json

{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "cppbuild",
			"label": "C/C++: gcc 生成活动文件",
			"command": "/usr/bin/gcc",
			"args": [
				"-fdiagnostics-color=always",
				"-g",
				"${file}",
				"-o",
				"${fileDirname}/${fileBasenameNoExtension}"
			],
			"options": {
				"cwd": "${fileDirname}"
			},
			"problemMatcher": [
				"$gcc"
			],
			"group": {
				"kind": "build",
				"isDefault": true
			},
			"detail": "编译器: /usr/bin/gcc"
		}
	]
}

上述文件是从vscode->终端->配置默认生成任务 生成的

注意task是任务,launch是启动可执行文件的,但是一开始并没有可执行文件,只有代码,因此需要先运行tasks.json生成可执行文件,task里面的label字段,需要和launch中的preLaunchTask字段一致,这样才能保证找到相应的task.

command字段就是需要在命令行执行的命令,这里使用的是/usr/bin/gcc,算是指明了所用gcc的路径,一般来说,gcc也可不指定,这时用的是bash里面配置的默认gcc.

args就是命令的参数.是一个list,里面的选项都会添加到命令中,注意有一些宏配置,例如${file}指的就是当前文件的名称(包括路径). 如果需要添加编译时指令,就在这里加上.

下面的options选项字段,有一个cwd字段,就是工作路径.

launch.json

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": []
}

上面是默认生成的launch文件,上面是默认生成的,没法直接用,也可以从运行->添加配置里面生成配置文件,生成如下

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 启动",
            "type": "cppdbg",
            "request": "launch",
            "program": "输入程序名称,例如 ${workspaceFolder}/a.out",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "将反汇编风格设置为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ]
        }

    ]
}

需要注意的是,program字段需要自己修改成相应的可执行文件的路径,这里修改为${fileDirname}/${fileBasenameNoExtension},此外还需要添加一个字段,即"preLaunchTask": " ",这里的字段要和tasks里面的label对得上.

除此之外,注意到还没有添加调试应用,这里也需要添加上,即

"miDebuggerPath": "gdb",因为已经配置了gdb环境变量,因此可以直接使用,否则要带路径.

启动时参数可以修改args,而environment则是传递给程序的环境变量.

宕开一笔,其实launch和task里面的configuration都是列表,也就是说在单个文件里面可以配置多个编译启动设置.然后这些编译和启动通过"preLaunchTask"进行匹配.

下面给出一个基本上能用的配置文件

tasks.json

{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "cppbuild",
			"label": "C/C++: gcc 生成活动文件",
			"command": "/usr/bin/gcc",
			"args": [
				"-fdiagnostics-color=always",
				"-g",
				"${file}",
				"-o",
				"${fileDirname}/${fileBasenameNoExtension}"
			],
			"options": {
				"cwd": "${fileDirname}"
			},
			"problemMatcher": [
				"$gcc"
			],
			"group": "build",
			"detail": "编译器: /usr/bin/gcc"
		}
	]
}

launch.json

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 启动,配置1",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "preLaunchTask": "C/C++: gcc 生成活动文件",
            "externalConsole": false,
            "miDebuggerPath": "gdb",
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "将反汇编风格设置为 att",
                    "text": "-gdb-set disassembly-flavor att",
                    "ignoreFailures": true
                }
            ]
        }

    ]
}
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LRY01127

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值