2017-03-06 4 views
5

私は10のタイプのプロジェクトフォルダをお互いに隣り合っていて、それぞれにルートにtsconfig.jsonを含んでいます。いろいろな理由から、プロジェクトは別々にコンパイルする必要があります。自動的に各プロジェクトのために、Windowsバッチファイルからをそのソースの変更は、私は次のことを実行している特定のプロジェクトをビルドするには:バッチファイルからVSCodeで複数のTypeScriptプロジェクトを視聴するにはどうすればよいですか?

tsc -w 

、これはstartを使用して行われ、そのので、異なるtscコマンドを並列に実行することができます:

    start tsc -w -p ./Project1 
    start tsc -w -p ./Project2 
    ... 
    

    が今の問題は、このことは、追加のオプションに応じて、どちらかであります時計は後で望ましいどちらも時計は唯一の...タスクマネージャ

から殺害することができ、その場合には目に見えないよう

  • 実行し、閉じることができるように
  • は、10のコマンド・ライン・ウィンドウを作成します。だから、Visual Studioコードで複数のTypeScriptプロジェクトを監視する "正しい"方法は何でしょうか?


    編集

    私はこの部分について間違っていた。時計は唯一のタスクマネージャ

    から殺害することができ、その場合には目に見えない

    実行、タスクが開始された場合:

    start /B tsc -w -p ./Project1 
    

    ...起動したコマンドプロンプトを閉じても、少なくともWindows 10では「表示されない」タスクが閉じられます。タスクマネージャからこれを確認しました。私が見つけた

  • 答えて

    0

    最もエレガントな解決策はconcurrentlyパッケージに

    を使用している使用法

    concurrently "tsc -w -p ./Project1" "tsc -w -p ./Project2" 
    
    0

    npm i -g concurrently 
    

    をインストールするには、タスクファイルでこれを行うことができ、これは古いとは機能しないので、"version": "2.0.0"を使用することを忘れないでくださいバージョン。そのファイルを作成したら、.vscode/tasks.jsonこれをこのファイルに入れ、必要に応じて変更してください。タスクを実行する準備が整ったら、メインのBuildタスクを実行して、他のtscタスクを起動する必要があります。

    { 
        "version": "2.0.0", 
        "command": "tsc", 
        "problemMatcher":"$tsc-watch", 
        "showOutput": "always", 
        "echoCommand": true, 
        "tasks": [ 
        { 
         "taskName": "Build", 
         "isBuildCommand": true, 
         "dependsOn": [ 
         "Build A", 
         "Build B", 
         "Build C" 
         ] 
        }, 
        { 
         "taskName": "Build A", 
         "args": [ 
         "-w", "-p", "./src/project-a" 
         ] 
        }, 
        { 
         "taskName": "Build B", 
         "args": [ 
         "-w", "-p", "./src/project-b" 
         ] 
        }, 
        { 
         "taskName": "Build C", 
         "args": [ 
         "-w", "-p", "./src/project-c" 
         ] 
        } 
        ] 
    } 
    
    関連する問題