VSCode 任务到 运行 位于任何地方的 ant 构建文件

VSCode Task to run ant buildfile located anywhere

我有一个跨越多个源目录的巨大项目,该项目是在过去 15 年中使用 eclipse 和自定义外部工具配置开发的,用于从源目录内任何位置的 build.xml 文件启动 ant 任务(一团糟,我知道!)。

由于日常工作主要基于 xml 和 JavaScript,我认为 VSCode 是一个轻量级的替代方案(因为 eclipse 例如无法处理大型 xml 文件而不超过 HeepSpace)。 Task Runners 在我看来这是将 ant 构建集成到编辑器中的好方法,它们也被宣传为能够 运行ning ant 构建:

Examples are Make, Ant, Gulp, Jake, Rake and MSBuild to name only a few.

我可以 运行 使用根文件夹中的 build.xml 进行 ant 构建。然而,这不是项目的结构。

有没有办法运行任务命令(蚂蚁,在我的例子中)来自不同于工作区根目录的目录?

我想到了类似 git 的 GIT_WORK_TREE 环境变量或执行两个命令的方法(如 cd {{build.xml folder}} && ant)。我现在的tasks.json是

{
    "version": "0.1.0",
    "command": "ant",
    "isShellCommand": true,
    "showOutput": "silent",
    "args": ["all", "jar"],
    "promlemMatcher": "" // I'm also not sure what to put here,
                         // but that's another question
}

(我在 windows,顺便说一句——但来自 linux/osx,我对这里的工作方式有点陌生。)

您可以定义要使用的 cwd 目录。这是这样做的:

{
    "version": "0.1.0",
    "command": "ant",
    "isShellCommand": true,
    "options": {
         "cwd": "My folder to run in"
    }
}

有关 tasks.json 文件的定义,请参阅 https://code.visualstudio.com/Docs/editor/tasks_appendix