Visual studio code VSCode-一个任务可以调用另一个任务吗?
Vscode版本:1.19.3 我想知道是否有一种方法可以让一个任务调用另一个任务,比如“启动前任务”,但可以用于常规任务Visual studio code VSCode-一个任务可以调用另一个任务吗?,visual-studio-code,Visual Studio Code,Vscode版本:1.19.3 我想知道是否有一种方法可以让一个任务调用另一个任务,比如“启动前任务”,但可以用于常规任务 原因是,当我想调试代码时,我需要将可执行文件重新编译为最新版本,这样我就可以调用“preLaunchTask”CMakeTask,然后需要调用make来生成可执行文件 总体 是的,您可以自动调用其他语言的自定义脚本,但还不能调用C语言的自定义脚本 VS代码当前自动检测以下系统的任务:Gulp, 格朗特、杰克和npm。我们正在使用相应的扩展 作者希望添加对Maven和C#do
原因是,当我想调试代码时,我需要将可执行文件重新编译为最新版本,这样我就可以调用“preLaunchTask”CMakeTask,然后需要调用make来生成可执行文件 总体 是的,您可以自动调用其他语言的自定义脚本,但还不能调用C语言的自定义脚本 VS代码当前自动检测以下系统的任务:Gulp, 格朗特、杰克和npm。我们正在使用相应的扩展 作者希望添加对Maven和C#dotnet命令的支持。如果 使用Node.js作为运行时开发JavaScript应用程序时 通常有一个package.json文件描述您的依赖项和 要运行的脚本 用于C(或其他自定义) 您需要在构建任务组中定义一个自定义任务,以便它在那里运行 并非所有任务或脚本都可以在工作区中自动检测到。 有时有必要定义自己的自定义任务。假设你 有一个脚本来运行测试,因为需要设置一些 正确的环境。脚本存储在内部的脚本文件夹中 Linux和macOS的工作区名为test.sh,Linux和macOS的工作区名为test.cmd 窗户。从全局任务菜单运行配置任务。这打开了 下面的选择器 只要系统识别要使用的二进制文件,并且可以是按顺序调用构建步骤的powershell、bash、batch等脚本,就可以执行完全任意的命令。这可以是一个列出其他命令的命令,也可以简单地将多个任意任务添加到此生成组
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "Run tests",
"type": "shell",
"command": "./scripts/test.sh",
"windows": {
"command": ".\\scripts\\test.cmd"
},
"group": {
"kind": "build",
"isDefault": true
},
"presentation": {
"reveal": "always",
"panel": "new"
}
}
]
}
作为默认生成任务,它在触发运行生成任务(Ctrl+Shift+B)时直接执行
任务属性说明:
- 标签:用户界面中使用的任务标签
- 类型:任务的类型。对于自定义任务,可以是shell或进程。如果指定了shell,则该命令将被解释为shell命令(例如:bash、cmd或PowerShell)。如果指定了进程,则该命令将被解释为要执行的进程。如果使用shell,则命令的任何参数都应嵌入到命令属性中,以支持正确的参数引用。例如,如果测试脚本接受--debug参数,那么命令属性将是:./scripts/test.sh--debug
- 命令:要执行的实际命令
- windows:任何特定于windows的属性。在Windows操作系统上执行命令时,将使用而不是默认属性
- 组:定义任务所属的组。在本例中,它属于测试组。可以通过从命令选项板运行运行测试任务来执行属于测试组的任务
- 演示文稿:定义如何在用户界面中处理任务输出。在本例中,始终显示显示输出的集成终端,并在每次任务运行时创建一个新终端
你可以让它取决于另一项任务。例如:
{
"label": "secondTask",
"type": "shell",
"command": "<Your second task's command here>",
"dependsOn": [
"firstTask"
]
},
{
"label": "firstTask",
"type": "shell",
"command": "<Your first task's command here>"
}
{
“标签”:“第二个任务”,
“类型”:“外壳”,
“命令”:”
}
这太完美了!我完全忘记了创建自己的shell脚本来处理所有繁重的工作。这肯定会帮我省下很多工作。这(或Badr Elmers)应该是公认的答案。我同意你的观点,因为你提供了一个例子。dependsOn
最酷的一点是,您可以指定任务列表。更酷的是,您还可以使用dependsOrder
来定义它们是按顺序执行还是并行执行。这对C/C++程序员来说非常好,因为你可以定义一个“构建”任务,一个“清理”任务,然后你可以创建一个“重建”任务,只说它取决于“清理”和“构建”任务。谢谢@user1593842,我不知道dependsOrder参数,它也很有用。正如你所说,我正在使用“maven build”,但在此之前,我正在运行一个“clean”作业。您好,您知道有没有办法使工作区任务依赖于用户任务?我找不到任何文档、链接或问题。我刚刚收到错误无法解析工作区文件夹中的依赖任务“任务名称”
您的答案很好,请更新它并提供一个示例。