VSCode launch.json和tasks.json的变量说明

本文详细介绍了Visual Studio Code中launch.json和tasks.json文件中使用的变量,包括它们的作用、用法和如何自定义,帮助开发者更好地理解和配置VSCode的调试与构建任务。

VSCode launch.json和tasks.json的变量说明


vscode是一个轻量级的文本编辑器,但是它的拓展插件可以让他拓展成功能齐全的IDE,这其中就靠的是tasks.json和launch.json的配置
这两个json文件的相关变量是vscode特有的,但是和其他系统环境变量写法相似的变量,在网上找到相关说明如下:
描述文件基础变量

变量名含义
${workspaceRoot}当前打开的文件夹的绝对路径+文件夹的名字
${workspaceRootFolderName}当前打开的文件夹的名字
${file}当前打开正在编辑的文件名,包括绝对路径,文件名,文件后缀名
${relativeFile}从当前打开的文件夹到当前打开的文件的路径,如当前打开的是test文件夹,当前的打开的是main.c,并有test/first/second/main.c 那么此变量代表的是 first / second / main.c
${fileBasename}当前打开的文件名+后缀名,不包括路径
${fileBasenameNoExtension}当前打开的文件的文件名,不包括路径和后缀名
${fileDirname}当前打开的文件所在的绝对路径,不包括文件名
${fileExtname}当前打开的文件的后缀名
${cwd}任务开始运行时的当前工作目录
${lineNumber}前打开的文件,光标所在的行数

转载

VSCode中,launch.jsontasks.json可以通过`preLaunchTask`变量来实现参数传递。 ### 1. 使用`preLaunchTask`关联 `launch.json`中的`preLaunchTask`字段对应`tasks.json`的`label`字段,在执行`launch.json`之前系统会根据`preLaunchTask`先去执行`tasks.json`中的内容。例如,在`launch.json`中设置: ```json { "version": "0.2.0", "configurations": [ { "name": "Python: 当前文件", "type": "python", "request": "launch", "program": "${file}", "console": "integratedTerminal", "justMyCode": true, "preLaunchTask": "生成活动", "args": ["--mg"] } ] } ``` 在`tasks.json`中: ```json { "version": "2.0.0", "tasks": [ { "type": "shell", "label": "生成活动", "command": "g++", "args": [ "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}.exe", "-g" ], "problemMatcher": [ "$gcc" ] } ] } ``` 这里`launch.json`的`preLaunchTask`指定了`tasks.json`中`label`为“生成活动”的任务,在启动调试时会先执行该任务。 ### 2. 使用变量传递参数 VSCode提供了一些内置变量,如`${file}`、`${fileDirname}`、`${fileBasenameNoExtension}`等,可以在`launch.json``tasks.json`中使用这些变量来传递信息。例如,在`tasks.json`中使用`${file}`表示当前打开的文件,在编译时就会对该文件进行操作。 ### 3. 自定义变量传递 可以通过在`tasks.json`中定义自定义变量,并在`launch.json`中引用。不过这种方式相对复杂,需要结合VSCode的配置脚本实现。 ```python # 以下是一个简单示例,假设在launch.json中有自定义变量 { "version": "0.2.0", "configurations": [ { "name": "Python: 当前文件", "type": "python", "request": "launch", "program": "${file}", "console": "integratedTerminal", "justMyCode": true, "preLaunchTask": "生成活动", "args": ["--mg", "${myCustomVariable}"] } ] } ``` 在`tasks.json`中可以根据需求处理这个自定义变量
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值