Using the integrated terminal
Run the following command in the integrated terminal:
cargo run
TLDR:
Install rust-analyzer and Native debugger based on LLDB extensions, then use the Run menu (then see the terminal for the result/output):
You may install these extensions using the terminal commands (and then restart the vscode):
# apt install musl lldb libssl-dev
code --install-extension vadimcn.vscode-lldb
code --install-extension rust-lang.rust-analyzer
code --install-extension bungcip.better-toml
Using Tasks
Shortcut to run the Task: Ctrl + Shift + B
Add cargo run
as a default Task: add .vscode/tasks.json
file to your project as follows, to use cargo run
to run the project, change the contents of .vscode/tasks.json
as follows:
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "cargo run",
"type": "shell",
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
"args": [
"run",
// "--release",
// "--",
// "arg1"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
Now press Ctrl + Shift + B
to run the Task, or Press Ctrl + Shift + P
and select Tasks: Run Build Task
from the Command Palette.
You may add arguments like the comment above e.g.: "args": ["run", "--release", "--", "arg1"],
(if your app requires it).
(You may open the Command Palette with Ctrl + Shift + P
and type in Configure Default Build Task
and press Enter
to select it. Then select Rust: cargo build
or Others
. This generates a tasks.json
file in your workspace .vscode
folder).
Using the Native debugger based on LLDB
To Run the project:
Press Ctrl+F5 or select Run Without Debugging
from the Run
menu, and see the terminal window, for the result:
For the first time (only once), install the Native debugger based on LLDB, or install using the command line:
code --install-extension vadimcn.vscode-lldb
Then inside your Visual Studio Code project: Press shortcut Ctrl+F5 then for the first time select LLDB
then OK
and Yes
, or create .vscode/launch.json
file like the following sample, inside your project folder (Also you may select create a launch.json file
from Debug/Run panel too):
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "lldb",
"request": "launch",
"name": "Debug executable 'example'",
"cargo": {
"args": [
"build",
"--bin=example",
"--package=example"
],
"filter": {
"name": "example",
"kind": "bin"
}
},
"args": [
// "user_arg1",
// "user_arg2"
],
"cwd": "${workspaceFolder}"
},
{
"type": "lldb",
"request": "launch",
"name": "Debug unit tests in executable 'example'",
"cargo": {
"args": [
"test",
"--no-run",
"--bin=example",
"--package=example"
],
"filter": {
"name": "example",
"kind": "bin"
}
},
"args": [],
"cwd": "${workspaceFolder}"
}
]
}
Notes:
I named the project example
above.
You may uncomment above // "user_arg1",
if you need args.
Using the rust-analyzer extension
Installation:
rustup component add rust-src
code --install-extension rust-lang.rust-analyzer
# code --install-extension matklad.rust-analyzer
To run the code click on the gray Run
text above fn main()
:
Using the code-runner extension
Install the extension, then open the source file then you will have a play button in the top right corner to click, or use default shortcut: Ctrl+Alt+N
(You may change the shortcut from: File>Preferences>Keyboard Shortcuts
and enter code-runner.run
in the search box).
Note: To run the command inside terminal You may set code-runner.runInTerminal
to true
from File>Preferences>Settings
(or press Ctrl+,
), then enter code-runner.runInTerminal
in the search box.
Edit: This runs only open file e.g.: rustc main.rs
. You may edit the code-runner.executorMap
to change the command from:
"rust": "cd $dir && rustc $fileName && $dir$fileNameWithoutExt",
to:
"rust": "cargo run",
So the Code Runner runs the cargo run
command each time you click the Play button (or pressing keyboard shortcut):
From menu: File>Preferences>Settings
(or press Ctrl+,
) then inside search box, enter:
code-runner.executorMap
then click Edit in Settings.json
then edit "code-runner.executorMap": and change "rust":"cd $dir && rustc $fileName && $dir$fileNameWithoutExt"
to "rust": "cargo run"
.
Or simply add 3 following lines to VSCode settings JSON (settings.json
file):
"code-runner.executorMap": {
"rust": "cargo run # $fileName"
}
Using the Code Runner custom command
You may set the custom command to run: "code-runner.customCommand": "cargo run"
Menu: File>Preferences>Settings
(or press Ctrl+,
) then inside search box, enter customCommand
and set the custom command to run: cargo run
.
You may change Shortcut to this command for ease of use: From Menu select: File>Preferences>Keyboard Shortcuts
, then inside search box enter: customCommand
, then add/change keybinding e.g. press: Ctrl+L Ctrl+R
Using the rust-lang.rust
extension
You may install this extension from the command line using:
code --install-extension rust-lang.rust
The plugin uses tasks: You may press Ctrl + Shift + B
then select options presented, for now, there are only two options:
cargo check
cargo build
So you need to use the cargo run
Task presented above (tasks.json
file).
kalitaalexey’s ‘Rust’ extension was previously another option but was removed from the Visual Studio Code Marketplace by 2021, and was last updated in 2017.