Ich habe gesehen, dass es möglich ist, eine Aufgabe im VSCode zu definieren. Ich bin mir jedoch nicht sicher, wie ich mehrere Aufgaben in der tasks.json
Datei definieren soll.
visual-studio-code
vscode-tasks
Franz Gsell
quelle
quelle
Antworten:
Nur für den Fall, dass es jemandem hilft .... Wenn Sie nicht haben / wollen, dass gulp / grunt / etc ... oder ein zusätzliches Shell-Skript zum Proxy Ihrer Task-Befehle verwendet wird, ist "npm run" bereits vorhanden.
Dies ist für Webpack und Mokka wie in "Build and Test", Shift+ Ctrl+ B, Shift+ Ctrl+T
.vscode / task.json:
package.json:
quelle
Was mir geholfen hat, dies besser zu verstehen, ist die Reihenfolge der Argumente, die an den Befehl übergeben wurden. Für manche mag es offensichtlich sein, aber es ist in der Dokumentation nicht klar.
Lassen Sie einige Felder weg, um sich nur auf den gesendeten Befehl zu konzentrieren:
Die obige Definition führt zu folgendem Befehl:
Der Aufgabenname
myTask
ist immer der letzte. Seit Version 0.4 kann es mit weggelassen werden"suppressTaskName": true
.quelle
Versuche dies
quelle
Ich verwende die folgende Datei task.json, um mehrere TypeScript-Build-Szenarien auszuführen. Ich habe in jeden Ordner eine tsconfig.json-Datei eingefügt, damit ich die Ausgabe jedes Ordners einzeln optimieren kann. Stellen Sie einfach sicher, dass Sie den Aufgabennamen unterdrücken, da er versucht, ihn in die Befehlszeichenfolge einzufügen.
So sieht die Ordnerstruktur aus, wobei / script das Ausgabestammverzeichnis und / source das Eingabestammverzeichnis ist. Beide Ordner verweisen auf Typdeklarationen im Ordner / typingd und im Ordner / typings. TypeScript beschränkt sich in gewisser Weise auf die Verwendung relativer Pfade in externen Referenzen. Daher vereinfacht es die Dinge, wenn diese Ordnerstrukturen ähnlich sind.
Oh ja, es macht es einfacher, sie selektiv zu starten, wenn Sie sie als nicht erstellt markieren und den Build-Schlüssel überschreiben, um eine bestimmte Aufgabe aus einer Liste auszuwählen.
Update : Sie können jederzeit einfach nur Schurken werden, wenn Sie möchten. Es gibt vielleicht bessere Möglichkeiten, mit den Argumenten umzugehen, aber das funktioniert im Moment unter OSX für mich.
quelle
Ich kenne die richtige Antwort darauf nicht (und würde es auch gerne wissen), aber meine hässliche Problemumgehung, falls es jemandem hilft. Ich bin unter Windows und habe mir selbst ein einfaches Batch-Skript erstellt, das einfach enthalten könnte
Dann sieht meine Task.json so aus
quelle
Sie können mehr als eine Aufgabe in der Aufgabeneigenschaft auflisten. Etwas wie:
quelle
tsc
undmocha
Aufgaben.Diese Funktionalität wurde in Visual Studio Code v1.9 (Januar 2017) hinzugefügt . Beispiel und Text stammen aus den Versionshinweisen :
Befehle pro Aufgabe
Sie können jetzt verschiedene Befehle pro Aufgabe definieren ( # 981 ). Auf diese Weise können Sie verschiedene Befehle für verschiedene Aufgaben ausführen, ohne ein eigenes Shell-Skript schreiben zu müssen. Eine
tasks.json
Datei, die Befehle pro Aufgabe verwendet, sieht wie folgt aus: [oben]quelle
Dies scheint ein VSCode-Fehler ab Version 0.5.0 zu sein
Meine gulp.js:
Beachten Sie, dass die erste Aufgabe isBuildCommand verwendet, sodass STRG + SHFT + B gestartet wird, und die nächste Aufgabe isTestCommand ist, sodass STRG + SHFT + T gestartet wird. Um jedoch die erste Aufgabe zu erhalten, die Argumente akzeptiert, mussten der Aufgabenname und die Argumente umgekehrt werden.
Ab VSCode 0.5.0 funktioniert das oben Genannte, das Folgende jedoch nicht:
Hier ist die Ausgabe von task.json mit der richtigen Reihenfolge der Aufgaben und Argumente:
Hier ist die korrekte Ausgabe aus der Datei task.json, wobei der Aufgabenname und das Argument bei Verwendung von Argumenten umgekehrt sind:
quelle
Ab der Version vom Februar 2017 können Sie Terminal Runner verwenden und mehrere Aufgaben erstellen, indem Sie Abhängigkeitsaufgaben einrichten. Es ist insofern etwas funky, als es für jede Aufgabe ein separates integriertes Terminal öffnet, das Sie beobachten müssen, um zu sehen, ob die Dinge funktionieren, und daran denken, sie zu schließen (sie "stapeln"), und Sie erhalten keine Benachrichtigung "erledigt" , aber es erledigt den Job. Die Funktionalität ist vorläufig, aber vielversprechend. Hier ist ein Beispiel zum Ausführen von tsc und jspm für eine Cordova-App.
quelle
Folgendes hat bei mir funktioniert:
task.json:
MyProject.UnitTests \ project.json :
Führen Sie die Laube aus: Strg + Umschalt + B vom vscode aus. Führen Sie die Tests aus: Strg + Umschalt + T vom vscode
quelle
Das funktioniert bei mir ...
Ich weiß, dass es hier viele verschiedene Antworten gibt, aber mein Ansatz war wieder ein bisschen anders, also dachte ich, ich würde meinen Wert von 2 Pence hinzufügen.
Ich bin unter Windows und verwende eine externe Batch-Datei, um meine Befehle auszuführen. Es ist ähnlich wie Jonathans Antwort oben, aber ich leite keine Befehle an sie weiter, was bedeutet, dass meine Datei "task.json" anders ist.
Ich könnte diesen Ansatz im Laufe der Zeit ändern (zum Beispiel habe ich noch nicht mit Schlucken gespielt), aber diese Methode funktioniert im Moment perfekt für mich.
Ich benutze Lenker für HTML-Vorlagen, Babel, damit ich ES6-Code und einen Code-Linter verwenden kann, um Fehler zu erkennen. Am Ende startet die Batch-Datei einen Browser mit meiner Startseite (index.html).
Hier ist meine Batch-Datei mit dem Namen run_tasks.bat:
Und hier ist meine Task.json-Datei:
Dann drücke ich in VSCode "STRG + UMSCHALT + B", um meine Batch-Datei auszuführen.
quelle
Ich habe eine Electron-App, die weniger Stylesheet kompilieren muss, um das Programm zu erstellen und zu starten. Ich habe die Lösung von @ Ocean verwendet, die für mich funktioniert hat ... sonst hat nichts funktioniert.
Sowohl meine Datei task.json als auch die Datei build-task.bat befinden sich im Verzeichnis .vscode im Stammverzeichnis des Projekts.
build-task.bat
task.json
quelle
Dank dieses Threads habe ich jetzt c # / dnxcore50 Build- und Test-Debug usw., die in vscode auf osx damit arbeiten:
Ich bin sicher, Linux wäre im Grunde das gleiche. Das einzige, was mich ärgert, ist, dass ich die .csproj-Dateien nur zum Debuggen pflegen muss. Ich freue mich auf eine Möglichkeit, mit dnx zu debuggen, obwohl ich seit einigen Wochen nicht mehr gesucht habe.
quelle