From 0a51c96f5b0727f3cdd7fe6c3de62a428de052fa Mon Sep 17 00:00:00 2001 From: Mat Wood Date: Wed, 29 Jan 2020 14:21:31 -0800 Subject: [PATCH] Add VSCode Task Description (#19) It's easy to use cargo play from VSCode using the task system. This diff adds a task description to be added for running CargoPlay. --- README.md | 31 +++++++++++++++++++++++++++++++ recordings/vscode_run_task.png | Bin 0 -> 14202 bytes 2 files changed, 31 insertions(+) create mode 100644 recordings/vscode_run_task.png diff --git a/README.md b/README.md index c9a2a88..e3cbb97 100644 --- a/README.md +++ b/README.md @@ -104,6 +104,37 @@ command! CargoPlay !cargo play % With your code file open, running `:CargoPlay` will allow you to test your current file within an auto-generated cargo project. +### VSCode + +Open Command Palette and select **Configure Task** +- *This will either create a new tasks.json or open your existing tasks.json* + +Add the following task: + +```json +{ + "version": "2.0.0", + "tasks": [ + { + "type": "shell", + "label": "CargoPlay", + "command": "cargo", + "args": [ + "play", + "${file}", + ], + "problemMatcher": [ + "$rustc" + ] + } + ] +} +``` + +Now open the Command Palette, select **Run Task** and then run the new **CargoPlay** task + + + ## Acknowledgements This project is inspired by [play.rust-lang.org](https://play.rust-lang.org) and [RustPlayground](https://github.com/cmyr/RustPlayground). diff --git a/recordings/vscode_run_task.png b/recordings/vscode_run_task.png new file mode 100644 index 0000000000000000000000000000000000000000..d682cf145dbe266492503eb4e71dcd9a25185c0b GIT binary patch literal 14202 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