目录
前言
许多工具都可以把重复的任务自动化,VSCode中的Task就是这个功能。
一、配置第一个Task
首先选择“终端”->“配置任务”,然后选择“使用模板创建task.json文件。(注意:如果你没有看到Task模板列表,可能是你的项目中已经又一个task.json文件了)然后选择“Others”。
这是VSCode会自动创建如下代码:
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "echo",
"type": "shell",
"command": "echo Hello"
}
]
}
二、运行Task
在“终端”里选择“运行任务”,会显示所有可能运行的Task。选择echo后,会让你选择要针对何种错误和警告扫描Task的输出。
输出如下:
三、配置复杂Task
1.Task中一些主要的属性及相应语义:
label:在用户界面上展示的Task标签
type:Task的类型,分为shell和process两种
shell:作为Shell命令运行
process:作为一个进程运行
command:真正执行的命令
windows:Windows中的特定属性。相应的属性会在Windows中覆盖默认的属性定义。
group:定义Task属于哪一组
presentation:定义用户界面如何处理Task的输出
options:定义cwd(当前工作目录)、env(环境变量)和shell的值
runOptions:定义Task何时运行及如何运行。
2.控制Task在运行时的输出行为:
reveal:控制集成终端是否显示
always:集成终端总是会在Task启动时显示
never:集成终端不会主动显示
silent:当输出不是错误和警告时,集成终端才会显示
focus:控制集成终端在显示时是否取得焦点
echo:控制被执行的命令是否在集成终端中输出
showReuseMessage:控制是否显示显示“Terminal will be reused by tasks,press any key to close it”提示信息
panel:控制不同的Task在运行时是否共享同一个集成终端
shared:共享集成终端
dedicated:Task会有一个专用的集成终端
new:每次运行的Task都会创建一个新的集成终端
clear:控制Task在运行前,是否清除集成终端的输出
group:控制Task是否在同一个集成终端中运行
3.控制Task在运行时的运行行为
reevaluateOnRerun:在执行Rerun Last Task命令时,控制是否重新计算变量
runOn:指定何时运行Task
default:只有在运行RunTask命令时,才会触发运行
foderOpen:当包含这个tasks.json文件夹被打开时,便会触发运行
4.变量替换
${workspaceFolder}:在Visual Studio Code中打开的文件夹的完整路径
${workspaceFolderBasename}:在Visual Studio Code中打开的文件夹名
${file}:当前打开的文件的完整路径
${relativeFile}:当前打开的文件的相对workspaceFolder路径
${relativeFileDirname}:当前打开的文件的文件夹的相对workspaceFolder路径
${fileBasenameNoExtension}:当前打开的文件的文件名,不包含扩展名
${fileDirname}:当前打开的文件的文件夹的完整路径
${fileExtname}:当前打开的文件的扩展名
${cwd}:Task启动时的工作目录
${lineNumber}:当前光标的所在的行号
${selectedText}:当前打开的文件中选中的文本
${execPath}:Visual Studio Code可知行文件的完整路径
${defaultBuildTask}:默认的Build Task的名字
${env:Name}:引用环境变量
${config:Name}:可以引用Visual Studio Code的设置项
${input:variableID}:传入输入变量