VScode tasks.json和launch.json的设置
发布网友
发布时间:2024-10-23 22:24
我来回答
共1个回答
热心网友
时间:2024-10-25 06:15
网上查找的相关文章,内容不够详尽,且很多信息已经过时。尤其是许多文章针对的是task0.1.0版本,而VSCode会自动屏蔽这些旧版本。
根据个人理解,tasks任务主要用于在launch启动前执行,而launch则用于读取并执行执行文件。
这两者常常一起使用,在需要编译语言的场景中进行自动编译和自动执行,以下以C++、Rust和Typescript为例进行说明。
一、C++(方法1:不使用VSCode插件,较繁琐)
在当前文件为C++的情况下,tasks可以用于编译,而launch则用于执行编译好的文件。
以下是launch.json文件,其中主要包含编译器的参数。可以通过Ctrl+Space查看可用参数,或者在configurations存在鼠标光标的情况下,点击右下角自动出现的Add Configurations按钮。选择gdb而不是windows的原因是,gdb不会执行预任务,也就无法编译文件。选择launch而不是attach的原因是,attach用于正在执行的文件,如网页中的组件,而launch则是执行新文件。
二、C++(方法2:使用Native Debug插件)
VSCode中有一个Native Debug插件,可以大大简化上述配置。请点击下载。
下载并安装后,我们可以尝试使用它。
三、C++(方法3:使用C/C++ Compile Run插件)
VSCode的这个插件更加简单,但只能用于单文件。现在,根本无需配置task.json和launch.json,保存后直接按F6自动编译运行,其他功能请参考插件下载页的how to use。
Native Debug插件和C/C++ Compile Run插件的对比:前者更通用(可用于多种编译语言),后者更简单。
四、Rust(使用Native Debug插件)
适用于使用cargo new建立的项目。
五、Typescript(仅做参考,这是用来写VSCode插件时的项目设置)
tasks.json
launch.json
六、一些常用的预定义变量
预定义变量
支持以下预定义变量:
预定义变量示例:
假设你满足以下条件,下面的预定义变量则代表:
Tip: VSCode的智能提示会在tasks.json和launch.json中提示所有支持的预定义变量。