G - Other useful tools

In this appendix, we'll talk about some additional tools that are provided by the Rust project, and are useful when developing Rust code.

Automatic formatting with rustfmt

rustfmt is a tool that can re-format your code according to community norms. Many projects use rustfmt to prevent arguments about which style to use when writing Rust: just do what the tool does!

rustfmt is not at 1.0 yet, but a preview is available for you to use in the meantime. Please give it a try and let us know how it goes!

To install rustfmt:

$ rustup component add rustfmt-preview

This will give you both rustfmt and cargo-fmt, similar to how Rust gives you both rustc and cargo. To take any Cargo project and format it:

$ cargo fmt

IDE integration with the Rust Language Server

To help IDE integration, the Rust project distributes rls, the Rust Language Server, as in http://langserver.org/. This can be used by different clients, such as the Rust plugin for Visual Studio: Code.

The rls is not at 1.0 yet, but a preview is available for you to use in the meantime. Please give it a try and let us know how it goes!

To install the rls:

$ rustup component add rls-preview

Then, install the language server support in your particular IDE, and it should all work.