当前位置: 首页 > news >正文

【VS Code】launch.json与tasks.json

文章目录

    • tasks.json
      • 作用
      • 字段
        • 配置块
    • launch.json
      • 作用
      • 字段
        • 配置块
    • 两个文件区别
    • 参考文章

VS Code 本质上而言是一个文本编辑器,是众多插件赋予它特殊功能。
本文介绍 tasks.jsonlaunch.json两个文件分别有什么作用以及如何配置

tasks.json

作用

tasks.json 文件是VS Code 中用于配置任务Tasks的文件。这些任务可以是编译代码、运行测试、构建项目等自动化任务。
使用不同的编程语言可能有不同的开发流程,比如 C/C++ 就需要编译(广义编译,包括了链接)、运行、测试、打包等等流程,而 Python只需要运行即可,为了把各种语言的不同开发流程抽象成同一套流程,于是有了编码(Code)— 构建(build)— 运行/调试(run/debug)— 测试 (test) — 打包(package) 等等,其中每个环节都可以认为是一个 task,所以可以利用 tasks.json来手动完成那些使用 IDE 时被隐藏的开发流程细节

字段

tasks.json 文件通常位于.vscode目录下,具有以下基本结构:

{"version": "2.0.0","tasks": [{// 任务配置块}]
}
配置块
  • labelstring, 任务的名称或标签,用于在任务列表中标识任务。
  • typestring, 任务类型,例如 shell 或 process。shell 表示任务将在 shell 中运行,process 表示任务将作为独立的进程运行。
  • commandstring, 要执行的命令,可以是编译器、构建工具、脚本等。
  • argslist<string>, 传递给命令的参数,数组形式。
  • groupstring, 任务分组,可以设置为 build 或 test,用于标识构建任务或测试任务。
  • presentation:控制任务输出的呈现方式,例如是否显示在终端中,是否清除之前的输出等。
  • problemMatcher: 配置错误和警告的匹配器,用于从任务输出中解析错误和警告。
  • options:任务执行的选项,例如环境变量、当前工作目录等。

launch.json

作用

launch.json是用于配置调试会话。它定义了调试器如何启动和运行程序。

字段

launch.json 文件一般位于 .vscode 目录下,具有以下基本结构:

{"version": "0.2.0","configurations": [{// 配置块}]
}
配置块

每个配置块代表一个调试配置,包含多个属性。以下是一些常见属性的说明:

  • typestring,调试器类型,如 python, cppdbg, node, java, 等。
  • requeststring,调试请求类型,通常为 launch(启动)attach(附加,附加到进程)
  • namestring,配置名称,在终端列表中的名称。
  • programstring,要调试的程序路径或文件,比如xx.out
  • argslist<string>,传递给程序的命令行参数,数组形式。
  • cwdstring,当前工作目录。
  • environmentlist<string>,环境变量设置。
  • sourceMaps:是否启用源映射(通常用于 JavaScript 调试)。
  • preLaunchTaskstring,调试前要执行的任务(通常用于编译等)。
  • postDebugTaskstring,调试结束后要执行的任务。
  • stopOnEntry: bool,调试时是否在程序入口处停止。
  • console:控制台类型,如 integratedTerminal, externalTerminal, 或 internalConsole
  • justMyCode: 是否只调试用户代码(用于 Python)。
  • pythonPath: Python 可执行文件的路径(用于 Python)。

更多的参数可以参考vs 官方介绍

两个文件区别

  • 用途
    • tasks.json:用于配置和管理自动化任务(编译、构建、运行脚本)
    • launch.json:用于配置调试器,定义调试会话的启动和运行参数
  • 配置内容
    • tasks.json:定义要执行的任务及其参数和选项
    • launch.json:定义调试会话的参数和选项,包括要调试的程序、调试器类型、启动或附加模式等
  • 工作流
    • tasks.json:适用于日常开发中的重复任务,自动化构建和测试流程
    • launch.json:适用于调试代码,启动调试会话或附加到正在运行的程序

在许多情况下,tasks.json 和 launch.json 可以结合使用。例如,可以在 launch.json 中定义一个调试配置,并在调试前执行一个由 tasks.json 配置的编译任务

参考文章

  1. Vscode 中launch.json与tasks.json文件
  2. VSCode中 task.json 和 launch.json 的作用和参数解释以及配置教程

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Java 并发编程:volatile 关键字介绍与使用
  • 【系统架构设计师】二十四、安全架构设计理论与实践④
  • 安装ubuntu server24.04系统
  • 浅谈 Spring AOP框架 (1)
  • 数据湖之Hudi
  • Java 技巧:将整数每一位数字转换为数组
  • 【C++题解】1015. 鸡兔同笼问题
  • ABAQUS基于CT断层扫描的三维圆柱体多孔结构建模
  • 【LabVIEW学习篇 - 12】:通知器
  • 数据挖掘可以挖掘什么类型的模式?
  • ReentrantLock源码分析
  • QChart曲线绘制-1.普通曲线
  • 数据结构——双链表详解(超详细)
  • git学习入门1——下载安装与添加用户标识设置name与Email
  • 音频重采样基本流程
  • 深入了解以太坊
  • JS 中的深拷贝与浅拷贝
  • 【React系列】如何构建React应用程序
  • 【跃迁之路】【585天】程序员高效学习方法论探索系列(实验阶段342-2018.09.13)...
  • 03Go 类型总结
  • ES2017异步函数现已正式可用
  • Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!
  • JavaScript设计模式系列一:工厂模式
  • Objective-C 中关联引用的概念
  • Python3爬取英雄联盟英雄皮肤大图
  • React的组件模式
  • 关于字符编码你应该知道的事情
  • 机器学习中为什么要做归一化normalization
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 使用 5W1H 写出高可读的 Git Commit Message
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 鱼骨图 - 如何绘制?
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • gunicorn工作原理
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • #stm32整理(一)flash读写
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • (1)(1.9) MSP (version 4.2)
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (2024)docker-compose实战 (9)部署多项目环境(LAMP+react+vue+redis+mysql+nginx)
  • (21)起落架/可伸缩相机支架
  • (4)STL算法之比较
  • (Oracle)SQL优化技巧(一):分页查询
  • (过滤器)Filter和(监听器)listener
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (新)网络工程师考点串讲与真题详解
  • (一)项目实践-利用Appdesigner制作目标跟踪仿真软件
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • *p=a是把a的值赋给p,p=a是把a的地址赋给p。
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?
  • .NET : 在VS2008中计算代码度量值
  • .NET CLR基本术语
  • .Net Core与存储过程(一)