VSCode任务运行位于任何地方的ant buildfile

时间:2015-08-12 07:19:00

标签: ant visual-studio-code vscode-tasks

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

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

  

例如Make, Ant ,Gulp,Jake,Rake和MSBuild仅举几例。

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

有没有办法从不同于工作区根目录的目录运行任务命令(在我的情况下是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并且对于思考这里工作的方式有点新。)

1 个答案:

答案 0 :(得分:3)

您可以定义要使用的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