2015-06-03 17 views
5

Ich habe VS Code verwendet, und ich habe mich gefragt, wie man eine task.json Datei erstellt, die diese Befehle haben wird. cargo build, cargo run [ARGS]cargo run --release -- [ARGS]Wie macht man VS-Code Build und Rust-Programme ausführen?

Ich habe versucht, macht man mit dem documentation auf task.json. Ich habe No such subcommand Fehler erhalten.

Probe:

{ 
"version": "0.1.0", 
// The command is tsc. Assumes that tsc has been installed using npm install -g typescript 
"command": "cargo", 

// The command is a shell script 
"isBuildCommand": true, 

// Show the output window only if unrecognized errors occur. 
"showOutput": "silent", 

"tasks": [{ 
    "taskName": "run test", 
    "version": "0.1.0", 
    "command": "run -- --exclude-dir=node_modules C:/Users/Aaron/Documents/Github/", 
    "isShellCommand": true, 
    "showOutput": "always" 
}, 
{ 
    "taskName": "run", 
    "version": "0.1.0", 
    "args": [ "--" 
      , "--exclude-dir=node_modules" 
      , "C:/Users/Aaron/Documents/Github/" 
      ] 
    "isShellCommand": true, 
    "showOutput": "always" 
}] 
} 
+0

Vielleicht können Sie einige Inspiration in diesem reddit Thread finden: http://www.reddit.com/r/rust/comments/389d3o/visual_studio_code_rust_has_been_added_as_a/ – aochagavia

+0

Ich habe meine Antwort gelöscht, aber aktualisiert gist (Entschuldigung der Code war falsch eingefügt) https://gist.github.com/vilic/f756ccfdb91b004e7a70. Der Grund, warum der Knoten zum Ausführen eines anderen Skripts verwendet wird, ist, dass Visual Studio Code-Problem-Matcher keine mehrzeiligen Fehler verarbeiten kann. Daher muss ich etwas intermediär machen. – vilicvane

Antwort

3

Der Befehl Eigenschaft wird nur auf der obersten Ebene unterstützt. Darüber hinaus müssen Argumente über die Eigenschaft args übergeben werden. Wenn sie in den Befehl eingefügt werden, wird der Befehl als Befehl mit Leerzeichen im Namen behandelt. Ein Beispiel für die Lauf Aufgabe würde wie folgt aussehen:

{ 
    "version": "0.1.0", 
    "command": "cargo", 
    "isShellCommand": true, // Only needed if cargo is a .cmd file 
    "tasks": [ 
     { 
      "taskName": "run", 
      "args": [ 
       "--release" 
       // More args 
      ], 
      "showOutput": "always" 
     } 
    ] 
} 
0

Hier ist, wie ich meine tasks.json Datei konfiguriert

{ 
    "version": "0.1.0", 
    "command": "cargo", 
    "isShellCommand": true, 
    "args": ["run"], 
    "showOutput": "always" 
} 

Eingabe des Build-Befehl (ctrl + Verschiebung + b) wird den Code erstellen und ausführen.