2015-06-03 12 views
5

Używam VS Code, i zastanawiałem się, jak zbudować plik task.json, który będzie miał te polecenia. cargo build, cargo run [ARGS]cargo run --release -- [ARGS]Jak utworzyć kod VS i uruchamiać programy Rust?

Próbowałem czyniąc jednego z documentation na task.json. Ciągle dostawałem błędy No such subcommand.

Próbka:

{ 
"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

Może możesz znaleźć inspirację w tym redditowym wątku: http://www.reddit.com/r/rust/comments/389d3o/visual_studio_code_rust_has_been_added_as_a/ – aochagavia

+0

Usunąłem moją odpowiedź, ale zaktualizowałem treść (przepraszam, kod był źle wklejony) https://gist.github.com/vilic/f756ccfdb91b004e7a70. Powodem, dla którego użycie węzła do wykonania innego skryptu jest taki, że narzędzie Matrix problemów z językiem Visual Studio nie może obsłużyć błędów wieloliniowych, więc muszę zrobić coś pośrednio. – vilicvane

Odpowiedz

3

Obiekt polecenie jest obsługiwane tylko na najwyższym poziomie. Ponadto argumenty muszą zostać przekazane za pośrednictwem właściwości args. Jeśli zostaną wprowadzone do polecenia, polecenie jest traktowane jako polecenie z białymi znakami w nazwie. Przykład Uruchom zadanie będzie wyglądać następująco:

{ 
    "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

Oto jak skonfigurowałem mój plik tasks.json

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

wprowadzając komendę build (ctrl + przesunięcie + b) zbuduje i uruchomi kod.

Powiązane problemy