Visual Studio Code
One of the more common development environments is Microsoft's Visual Studio Code text editor along with the Rust Analyzer, also known as RA, extension.
Visual Studio Code is an open-source and cross-platform graphical text editor with a rich ecosystem of extensions. The Rust Analyzer extension provides an implementation of the Language Server Protocol for Rust and additionally includes features like autocompletion, go-to definition, and more.
Visual Studio Code can be installed via the most popular package managers, and installers are available on the official website. The Rust Analyzer extension can be installed in Visual Studio Code via the built-in extension manager.
Alongside Rust Analyzer there are other extensions that might be helpful:
- Even Better TOML for editing TOML-based configuration files
- crates to help manage Rust dependencies
Tips and Tricks
Using Rust Analyzer with no_std
If you are developing for a target that doesn't have std
support, Rust Analyzer can behave strangely, often reporting various errors. This can be resolved by creating a .vscode/settings.json
file in your project and populating it with the following:
{
"rust-analyzer.check.allTargets": false
}
Cargo Hints When Using Custom Toolchains
If you are using a custom toolchain, as you would with Xtensa
targets, you can provide some hints to cargo
via the rust-toolchain.toml
file to improve the user experience:
[toolchain]
channel = "esp"
components = ["rustfmt", "rustc-dev"]
targets = ["xtensa-esp32-none-elf"]
Other IDEs
We chose to cover VS Code because it has good support for Rust and is popular among developers. There are also other IDEs available that have comparable Rust support, such as CLion and vim, but these are outside of this book's scope.