浅析VSCode launch.json中的各种替换变量的意思 ${workspaceFolder} ${file} ${fileBasename} ${fileDirname}等

对于"浅析VSCode launch.json中的各种替换变量的意思"这个话题,以下是我准备好的完整攻略。

1. 简介

在 VSCode 调试过程中,通常需要配置一个 .vscode/launch.json 文件。这个配置文件中包括了很多参数,其中一些参数需要填写变量,这些变量通常用于在不同情况下动态生成参数值。这些变量被称为“替换变量”,是一种非常方便的技术。

替换变量的语法是 ${variableName},其中 variableName 根据场景而不同,具体解释如下:

  • ${workspaceFolder}:表示当前打开文件所在的工作区目录的绝对路径;
  • ${file}:表示当前打开文件的绝对路径;
  • ${fileBasename}:表示当前打开文件的文件名,不包括扩展名;
  • ${fileDirname}:表示当前打开文件所在的目录的路径。

以上是最常见的替换变量,其他还有一些可用的变量,需要根据具体使用情况使用。

2. 例子

为了更好地理解上述替换变量的含义,这里提供两个例子。

2.1. 使用${workspaceFolder}

在项目中,可能需要调试运行一些脚本,脚本的目录可能会在项目的不同位置(例如在项目的根目录,或者在某个子目录下)。这时候我们可以在 launch.json 文件中配置如下的代码:

{
  "name": "Debug My Script",
  "type": "python",
  "request": "launch",
  "program": "${workspaceFolder}/path/to/my/script.py"
}

${workspaceFolder} 在这里就变成了一个变量,表示当前打开文件所在工作区的绝对路径,${workspaceFolder}/path/to/my/script.py 就表示拼接路径,生成了要执行的脚本文件的路径。

2.2. 使用 ${file}

在编写项目代码时,有时候需要 Debug 单个文件。这时候我们也可以使用替换变量。

{
  "name": "My Test",
  "type": "python",
  "request": "launch",
  "program": "${workspaceFolder}/path/to/my/test.py",
  "args": ["${file}"]
}

这里,${file} 表示当前打开文件的绝对路径,加入 args 选项中,用于传递测试用例的位置。

3. 总结

通过本文我们了解了 VSCode launch.json 文件中的各种替换变量的语法和含义,这样我们就可以更加灵活地在 launch.json 文件中设置一些参数,让我们的 Debug 过程更加顺畅方便了。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:浅析VSCode launch.json中的各种替换变量的意思 ${workspaceFolder} ${file} ${fileBasename} ${fileDirname}等 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • C++ Boost Thread线程使用示例详解

    C++ Boost Thread线程使用示例详解 C++ Boost Thread是一个开源的线程库,可以用于实现多线程编程。本文将详细讲解C++ Boost Thread的使用方法,并提供两个示例说明。 安装及配置Boost Thread 在开始使用Boost Thread之前,我们需要先安装并配置它。这里提供一些简单的步骤: 下载boost_1_68_0…

    C 2023年5月23日
    00
  • 操作系统中的Hosts文件工作原理和作用及其详细介绍

    操作系统中的Hosts文件工作原理和作用及其详细介绍 Hosts文件介绍 在计算机网络中,Hosts文件是一个用于存储 IP 地址和主机名(域名)对应关系的纯文本文件,通常位于操作系统的系统目录下,在 Windows 系统中为 C:\Windows\System32\drivers\etc\hosts 文件。该文件是本地DNS的重要组成部分,可以将特定的主机…

    C 2023年5月23日
    00
  • 利用C++实现通讯录管理系统的完整代码

    关于“利用C++实现通讯录管理系统的完整代码”的攻略如下: 步骤一:分析需求 在开始写代码之前,我们需要先仔细分析需求。通讯录管理系统有哪些功能呢?比如添加联系人、显示联系人、删除联系人等等。要想写好代码,先要清晰的了解需求。 步骤二:设计数据结构 在考虑具体的实现之前,我们需要确定一个数据结构来组织我们的数据。在通讯录管理系统中,最核心的数据结构就是通讯录…

    C 2023年5月23日
    00
  • C语言线程间共享指针

    C语言的线程间共享指针是指在多个线程中使用同一个指针指向的内存空间,使得不同的线程可以同时修改同一个变量或者结构体。在使用之前需要注意以下几点: 线程安全:由于多个线程可能同时访问同一块内存空间,因此需要保证线程安全,防止竞争条件导致的错误发生。 同步机制:为了保证线程间的协调,需要使用一些同步机制,如互斥锁、条件变量等。 下面给出线程间共享指针的使用攻略:…

    C 2023年5月10日
    00
  • 利用C++11原子量如何实现自旋锁详解

    当多个线程需要访问某个公共资源时,为了避免数据竞争(Data Race)和死锁(Lock),我们通常使用线程同步机制,其中自旋锁(SpinLock)就是其中一种。自旋锁是基于忙等待的一种锁,当一个线程在持有锁的时候,其他线程将会不停地“自旋”,也就是反复检查是否可以获得锁。在这种情况下,当前线程将会占用CPU时间片,从而耗费CPU的计算资源。 使用C++11…

    C 2023年5月23日
    00
  • 基于C语言实现随机点名器(附源码)

    基于C语言实现随机点名器(附源码)攻略 背景 在日常教学过程中,老师需要选择学生进行点名,但是传统的手工点名有些麻烦,而电子化的随机点名器则可以快速、方便地进行点名,提高了点名的效率。 组件 点名器的组成部分为三个部分:1. 学生名单(可采用文本文件实现存储);2. 随机数生成器(用于随机产生学生编号);3. 点名器(根据随机数生成器产生的随机数来选出学生进…

    C 2023年5月23日
    00
  • C语言实现的顺序表功能完整实例

    C语言实现的顺序表功能完整实例攻略 什么是顺序表? 顺序表是一种线性表,它通常由一组连续的存储单元(即数组)来存储数据元素,数据上的逻辑顺序可以和物理顺序一一对应,因此可以直接通过下标访问元素。它具有随机访问的特点,而不需要像链表那样依次寻找到某一个位置。 顺序表的基本操作 顺序表的基本操作包括初始化、插入、删除、查找、修改、销毁等。 实现方法 通过定义一个…

    C 2023年5月23日
    00
  • JavaScript之创意时钟项目(实例讲解)

    当我们在学习 JavaScript 时,造一些有趣实用的小玩意儿是必不可少的,其中一个非常有意思的项目就是创意时钟。 项目简介 创意时钟是一个以时钟为基础,通过一些奇特的设计和特殊效果,将普通的时钟变成一个有趣的艺术品的项目。在这个项目中,我们将使用 JavaScript、HTML 和 CSS 来构建一个时钟,并添加动画,使它变得更具有趣味性。 前置知识 在…

    C 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部