# rust-analyzer

This extension provides support for the [Rust programming language](https://www.rust-lang.org/).
It is recommended over and replaces `rust-lang.rust`.

## Features

- [code completion] with [imports insertion]
- go to [definition], [implementation], [type definition]
- [find all references], [workspace symbol search], [symbol renaming]
- [types and documentation on hover]
- [inlay hints] for types and parameter names
- [semantic syntax highlighting]
- a lot of [assists (code actions)]
- apply suggestions from errors
- ... and many more, check out the [manual] to see them all

[code completion]: https://rust-analyzer.github.io/book/features.html#magic-completions
[imports insertion]: https://rust-analyzer.github.io/book/features.html#completion-with-autoimport
[definition]: https://rust-analyzer.github.io/book/features.html#go-to-definition
[implementation]: https://rust-analyzer.github.io/book/features.html#go-to-implementation
[type definition]: https://rust-analyzer.github.io/book/features.html#go-to-type-definition
[find all references]: https://rust-analyzer.github.io/book/features.html#find-all-references
[workspace symbol search]: https://rust-analyzer.github.io/book/features.html#workspace-symbol
[symbol renaming]: https://rust-analyzer.github.io/book/features.html#rename
[types and documentation on hover]: https://rust-analyzer.github.io/book/features.html#hover
[inlay hints]: https://rust-analyzer.github.io/book/features.html#inlay-hints
[semantic syntax highlighting]: https://rust-analyzer.github.io/book/features.html#semantic-syntax-highlighting
[assists (code actions)]: https://rust-analyzer.github.io/book/assists.html
[manual]: https://rust-analyzer.github.io/book/features.html

## Quick start

1. Install [rustup].
2. Install the [rust-analyzer extension].

[rustup]: https://rustup.rs
[rust-analyzer extension]: https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer

## Configuration

This extension provides configurations through VSCode's configuration settings. All configurations are under `rust-analyzer.*`.

See [the manual](https://rust-analyzer.github.io/book/editor_features.html#vs-code) for more information on VSCode specific configurations.

## Communication

For usage and troubleshooting requests, please use the ["IDEs and Editors" category of the Rust forum](https://users.rust-lang.org/c/ide/14).

## Documentation

See [rust-analyzer.github.io](https://rust-analyzer.github.io/) for more information.
