浅析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语言实现通讯录

    一、通讯录准备 1. 通讯录信息的准备 2. 通讯录功能的框架 3. 文件安排 二、实现通讯录的功能 1. 添加功能 2. 删除功能 3. 展示功能 4. 更改功能 5. 查找功能 6. 排序功能 三、总结 1.在main函数中,采用&的原因 2.在使用scanf函数时,为何某些参数不需要&,而有一些参数需要使用& 3.在添加功能中,…

    C语言 2023年4月18日
    00
  • php实现的一段简单概率相关代码

    下面是关于“php实现的一段简单概率相关代码”的完整攻略,包含如何实现、示例说明等内容: 背景 概率统计在数据科学中扮演着重要的角色。在开发网络应用时,我们经常需要使用概率统计来解决一些问题,如随机生成数据、增加应用程序的随机性等。 在PHP语言中,我们可以使用随机数函数(rand() 和 mt_rand())来生成随机数。但是,如果我们需要生成一些特定的序…

    C 2023年5月23日
    00
  • Visual C++ 6.0无法正常启动提示0xc0000142怎么办?vc6.0无法执行程序解决方法

    Visual C++ 6.0无法正常启动提示0xc0000142怎么办? 当你在使用 Visual C++ 6.0 运行程序时,可能会遇到“无法正常启动,错误代码为 0xc0000142”的提示信息。出现这个问题的原因多种多样,可能是操作系统或 Visual C++ 本身的问题。下面我们来一步步解决这个问题。 步骤一:升级 Visual C++ 6.0 首先…

    C 2023年5月23日
    00
  • python集合类型用法分析

    Python集合类型用法分析 Python中的集合类型可用于存储一组无序且不重复的元素。本篇攻略将详细讲解Python中常用的集合类型及其用法。 集合类型 Python中常用的集合类型有三种: set frozenset dict 其中,set和frozenset是用来存储一组无序且不重复的元素的,而dict则是用来存储键值对的。 set类型 set类型使用…

    C 2023年5月22日
    00
  • C++中Lambda表达式的语法与实例

    下面是C++中Lambda表达式的语法与实例的详细讲解。 1. Lambda表达式的语法 Lambda 表达式的一般形式如下: [capture list] (parameter list) -> return type { // 函数体 } capture list: 捕获列表,表示可以捕获外部变量,以使用这些变量在 Lambda 表达式中。 par…

    C 2023年5月23日
    00
  • C语言switch语句详解

    C语言switch语句详解 简介 在C语言中,switch语句是一种多分支的选择结构,可以用来比对多个值,根据不同的值来执行对应的代码块。 语法 switch语句的基本语法如下: switch(expression){ case constant-expression1: statement(s); break; case constant-expressi…

    C 2023年5月24日
    00
  • 利用c语言实现卷积码编码器示例

    讲解“利用c语言实现卷积码编码器示例”的攻略如下: 一、卷积码简介 卷积码是一种错误纠正编码方式,被广泛应用于数字通信、无线电通信中。卷积码的原理是将原始数据与码字生成多项式进行卷积运算,得到编码后的信号,接收端利用卷积码的解码算法和同样的码字生成多项式进行解码。 卷积码的特点是编码效率高、解码复杂度较低,但编码的码长比较长,码长越长纠错效果越好,但是解码复…

    C 2023年5月23日
    00
  • C 程序 二进制转换为八进制

    下面是关于“C 程序 二进制转换为八进制”的完整使用攻略。 标题 C 程序二进制转换为八进制的完整使用攻略 介绍 在计算机领域中,二进制和八进制是两种常用的进制。我们可以使用 C 程序将二进制数字转换为八进制数字。在本文中,我们将讨论如何实现这项任务。 步骤 以下是将二进制转换为八进制的步骤: 我们需要在程序中接受一个二进制数字输入。 将输入的二进制数进行逐…

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