当前位置:   article > 正文

vscode配置文件详解

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"
		}
	]
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

上述文件是从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": []
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

上面是默认生成的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
                }
            ]
        }

    ]
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33

需要注意的是,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"
		}
	]
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/728558
推荐阅读
相关标签
  

闽ICP备14008679号