2017-08-03 63 views
0

我創建了兩個任務,以協助我在一個網站的發展:如何將多個任務作爲一個組運行?

{ 
    "version": "2.0.0", 
    "tasks": [ 
     { 
      "taskName": "build site", 
      "command": "jekyll b --watch --incremental", 
      "type": "shell", 
      "group": "build" 
     }, 
     { 
      "taskName": "serve site", 
      "command": "./_devd -ol _site", 
      "type": "shell", 
      "group": "build" 
     } 
    ] 
} 

我可以通過一個與F1 -> Run Task(所以我需要爲每個任務發出序列兩次,一次),我開始逐一最終同時運行兩個任務。

是否可以自動執行此操作並同時運行一組任務?I thoughtgroup條目會將它們組合在一起,但情況並非如此(它們僅被識別爲屬於buildtest組 - 我沒有找到一次啓動整個組的方法)。

回答

1

您可以使用「dependsOn」屬性。如果您想首先運行「構建站點」任務,請將其添加爲「serve site」任務的「dependsOn」。如果您希望兩者一起運行,請執行另一個依賴於「構建站點」和「服務站點」任務的任務。

這裏是服務之前,網站建設的一個例子:

{ 
    "taskName": "build site", 
    "command": "jekyll b --watch --incremental", 
    "type": "shell", 
    "group": "build" 
}, 
{ 
    "taskName": "serve site", 
    "command": "./_devd -ol _site", 
    "type": "shell", 
    "group": "build", 
    "dependsOn": "build site" // <--- Added this 
}, 

不知道一個更清潔的方式用長時間運行的任務,要做到這一點,但...

這裏是正在運行的實例兩個任務在同一時間:

{ 
    "taskName": "Run Everything", // <-- Bind this task to a key 
    "dependsOn": [ "build site", "serve site" ] 
}, 
{ 
    "taskName": "build site", 
    "command": "jekyll b --watch --incremental", 
    "type": "shell" 
}, 
{ 
    "taskName": "serve site", 
    "command": "./_devd -ol _site", 
    "type": "shell" 
} 
+0

謝謝,但這將無法正常工作,因爲「構建站點」是一項任務沒有結束。實際上,這兩項任務都不會結束,必須同時運行。 – WoJ

+0

已更新的答案顯示如何一起運行。 – alexriedl

+0

可能想查看vscode的任務後臺選項。我沒有用過它,所以我不知道這些限制。 https://code.visualstudio.com/docs/editor/tasks#_background-watching-tasks – alexriedl

相關問題