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

关于VSCode tasks.json中的各种替换变量,我整理了如下攻略:

一、什么是tasks.json

tasks.json是Visual Studio Code中用来指定任务的一个配置文件,可以用来运行一些自定义的构建、测试、调试等任务。在这个配置文件中,可以指定任务的执行命令,参数,以及一些特定的配置项。

二、tasks.json中的替换变量

在指定任务的执行命令、参数等过程中,可以使用一些替换变量来代替一些常用的路径或文件名,从而方便地生成任务的描述。这些替换变量以 ${ } 的形式出现在tasks.json文件中。

1. ${workspaceFolder}

代表当前工作区的绝对路径。一般用于指定构建、编译、打包等任务的输出路径。

示例:将ts文件编译成js文件并输出到指定的out文件夹中

{
    "label": "tsc build",
    "type": "shell",
    "command": "tsc ${workspaceFolder}/src/*.ts --outDir ${workspaceFolder}/out",
    "group": {
        "kind": "build",
        "isDefault": true
    }
}

2. ${file}

代表当前打开的文件的绝对路径。一般用于指定运行程序的输入文件。

示例:运行python程序并将当前打开的py文件作为输入文件

{
    "label": "Run Python File",
    "type": "shell",
    "command": "python ${file}",
    "group": {
        "kind": "test",
        "isDefault": true
    }
}

3. ${fileBasename}

代表当前打开的文件的文件名,不包含文件路径。一般用于指定运行程序的输入文件名。

示例:运行指定的jar文件并将当前打开的文件作为输入文件名

{
    "label": "Run Java Test",
    "type": "shell",
    "command": "java -jar ${workspaceFolder}/lib/test.jar ${fileBasename}",
    "group": {
        "kind": "test",
        "isDefault": true
    }
}

4. ${fileDirname}

代表当前打开的文件所在的目录的绝对路径。一般用于指定程序运行时的工作目录。

示例:运行指定的python程序并设置工作目录为当前文件所在目录

{
    "label": "Run Python Script",
    "type": "shell",
    "command": "python ${file} ${fileDirname}",
    "options": {
        "cwd": "${fileDirname}"
    },
    "group": {
        "kind": "test",
        "isDefault": true
    }
}

5. ${fileExtname}

代表当前打开的文件的扩展名,包含点号。

示例:指定输入文件和输出文件的扩展名一致

{
    "label": "Compile Markdown to HTML",
    "type": "shell",
    "command": "pandoc -f markdown -t html -s ${file} -o ${fileDirname}/${fileBasenameNoExtension}.html",
    "group": "build"
}

6. ${fileBasenameNoExtension}

代表当前打开的文件的文件名,不包含文件路径和扩展名。

示例:将Markdown文件转换成LaTeX格式并输出到指定路径

{
    "label": "Convert Markdown to LaTeX",
    "type": "shell",
    "command": "pandoc ${file} -o ${workspaceFolder}/out/${fileBasenameNoExtension}.tex",
    "group": {
        "kind": "build",
        "isDefault": true
    }
}

三、总结

以上就是VSCode tasks.json中的各种替换变量的详细讲解。在配置任务时使用这些替换变量,可以方便地指定任务的输入、输出路径、运行时工作目录等信息,使得任务的配置更加方便快捷。

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

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

相关文章

  • C语言中如何进行代码注释?

    当我们写代码时,必须添加注释来使代码更加易于阅读和理解。在C语言中,有两种类型的注释,即单行注释和多行注释。 单行注释 单行注释用于在代码行末尾添加注释。在C语言中,单行注释以双斜杠“//”开始,直到该行的结尾。例如: // 这是一条单行注释 int a = 10; // 这是在同一行之后的注释 多行注释 多行注释用于在一段代码中添加注释。在C语言中,多行注…

    C 2023年4月27日
    00
  • C语言实现通讯录的示例代码

    C语言实现通讯录的示例代码是一个经典的练手项目。下面,我将为大家详细讲解:如何实现通讯录,在此过程中,我将会向大家展示这样一个经典的示例代码实现。本文主要分为以下几个部分: 实现通讯录系统需要考虑的因素 编写通讯录示例代码的具体步骤 两个示例说明 1. 实现通讯录系统需要考虑的因素 要实现一个通讯录系统,需要考虑以下几个因素: 数据结构:通讯录使用什么数据结…

    C 2023年5月24日
    00
  • postgresql限制某个用户仅连接某一个数据库的操作

    限制某个用户仅连接某一个数据库的操作可以通过在PostgreSQL中修改pg_hba.conf和postgresql.conf文件来实现。下面是具体步骤: 修改pg_hba.conf文件 打开pg_hba.conf文件,在文件末尾添加一行内容: host database_name user_name IP_address authentication_me…

    C 2023年5月22日
    00
  • C#简单快速的json组件fastJSON使用介绍

    C#简单快速的json组件fastJSON使用介绍 简介 fastJSON是一个快速、小巧且易于使用的JSON序列化和反序列化库,与JSON.NET等流行的JSON库相比,在一些简单的场景下,fastJSON可以提供更高的性能。fastJSON支持将任何.NET对象序列化为JSON字符串,同时还支持将JSON字符串反序列化为.NET对象。 安装 使用NuGe…

    C 2023年5月23日
    00
  • JavaScript解构赋值详解

    JavaScript解构赋值详解 JavaScript解构赋值是一种简洁、快速、易读的语法,允许您从数组或对象中提取值并将它们赋值给变量。在本篇文章中,我们将详细探讨解构赋值的语法、使用方法和技巧。 什么是解构赋值? 解构赋值是ES6中的一种语法,它允许我们从数组、对象或函数参数中提取值,并将这些值赋给独立的变量。 对象解构 我们可以使用对象字面量来定义一个…

    C 2023年5月23日
    00
  • C++初始化列表学习

    C++初始化列表学习 什么是初始化列表? 初始化列表是C++中初始化class或者struct中成员变量的一种机制。使用初始化列表可以避免一些初始化过程中的不必要的计算和对象复制。 为什么要使用初始化列表? 在C++中,每个class或者struct中的变量都有一个默认的构造函数,如果没有定义其他的构造函数,编译器会自动使该构造函数有效。在某些情况下,简单的…

    C 2023年5月24日
    00
  • 用C语言程序判断大小端模式

    确定计算机所采用的字节序(Endian)一般采用的是以下两种方式: 大端字节序(Big Endian):将高序字节存储在低地址,低序字节存储在高地址。 小端字节序(Little Endian):将低序字节存储在低地址,高序字节存储在高地址。 在C语言中,可以通过访问一个32位整数的低地址字节和高地址字节来判断计算机的字节序。 以下是一段判断计算机采用的字节序…

    C 2023年5月23日
    00
  • Ruby中Time对象的常用函数总结

    Ruby中Time对象的常用函数总结 Ruby中Time对象是一个表示时间的类,它提供了一系列常用的函数来方便处理时间相关的操作。在本文中,我们将为大家总结一下Ruby中Time对象的常用函数及其用途。 获取当前时间 我们可以使用Time.now函数来获取当前时间。 current_time = Time.now puts current_time 输出结果…

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