2015-05-12 2 views
7

Come aggiungere un'altra attività a VSCode, che copia i file da x a y, dopo l'attività di creazione di tsc?Come aggiungere un'attività di post tsc build che copi i file?

+1

Perché non specificare 'outDir' per il task tsc in modo che non sia richiesto lo spostamento di file? – Brocco

+1

Ho bisogno dei file js in entrambe le posizioni. 1 è sotto il controllo del codice sorgente, l'altro è il server. + Ci sono altri, non ts file di output come html/css che devono essere copiati – MichaelS

+0

Mabye un po 'tardi forse. Hai risolto questo problema? – Evelie

risposta

4

È possibile utilizzare un corridore compito come sorso per raggiungere questo obiettivo ...

È possibile configurare vscode per eseguire l'attività build sottostante, che dipende dal compito compile.

var gulp = require('gulp'), 
    exec = require('child_process').exec; 

gulp.task('build', ['compile'], function() { 
    return gulp.src('./config/**/*.json') 
    .pipe(gulp.dest('./dist')); 
}); 

gulp.task('compile', function (done) { 
    exec('tsc -p ./app', function (err, stdOut, stdErr) { 
    console.log(stdOut); 
    if (err){ 
     done(err); 
    } else { 
     done(); 
    } 
    }); 
}); 

Non v'è documentazione sull'esecuzione di compiti gulp via vscode qui: https://code.visualstudio.com/Docs/tasks

3

È possibile utilizzare npm scripts per questo. Per esempio il mio package.json:

"scripts": { 
    "compile": "tsc -p . ", 
    "html": "cp -r ./src/public/ ./bin/public/", 
    "views": "cp -r ./src/views/ ./bin/views/", 
    "build": "npm run compile && npm run views && npm run html" 
} 

Qui 2 script html e views per la copia e il compito build li fa girare contemporaneamente. In tasks.json devo prossimo:

{ 
    "version": "0.1.0", 
    "command": "npm", 
    "isShellCommand": true, 
    "showOutput": "silent", 
    "suppressTaskName": true, 
    "tasks": [ 
     { 
      "taskName": "build", 
      "args": [ 
       "run", 
       "build" 
      ] 
     } 
    ] 
} 

Così shift+cmd+B verrà eseguito npm build script.