2020-03-02 14:27:26 +01:00
# rust-analyzer
Provides support for rust-analyzer: novel LSP server for the Rust programming language.
2021-03-01 14:47:54 -05:00
**Note** the extension may cause conflicts with the official Rust extension. It is recommended to disable the Rust extension when using the rust-analyzer extension.
2021-03-01 11:07:15 +01:00
2021-03-01 14:47:54 -05:00
## Sponsor
Work on rust-analyzer is sponsored by
[<img src="https://user-images.githubusercontent.com/1711539/58105231-cf306900-7bee-11e9-83d8-9f1102e59d29.png" alt="Ferrous Systems" width="300"> ](https://ferrous-systems.com/ )
2021-03-01 15:07:36 -05:00
2021-03-01 14:47:54 -05:00
- [Mozilla ](https://www.mozilla.org/en-US/ )
- [Embark Studios ](https://embark-studios.com/ )
2021-03-01 15:07:36 -05:00
If you want to sponsor:
2021-03-01 14:47:54 -05:00
2021-03-01 15:07:36 -05:00
- [OpenCollective ](https://opencollective.com/rust-analyzer/ )
- [Github Sponsors ](https://github.com/sponsors/rust-analyzer )
2021-03-01 14:47:54 -05:00
## Features
2021-03-01 11:07:15 +01:00
2021-03-01 15:07:36 -05:00
- [code completion], [imports insertion]
- [go to definition], [implementation], [type definition]
- [find all references], [workspace symbol search], [rename]
- [types and documentation on hover]
- [inlay hints]
- [semantic syntax highlighting]
- a lot of [assist(code actions)]
- apply suggestions from errors
- ... and many more, checkout the [manual] to see them all
2021-03-01 11:07:15 +01:00
[code completion]: https://rust-analyzer.github.io/manual.html#magic -completions
[imports insertion]: https://rust-analyzer.github.io/manual.html#auto -import
[go to definition]: https://rust-analyzer.github.io/manual.html#go -to-definition
[implementation]: https://rust-analyzer.github.io/manual.html#go -to-implementation
[type definition]: https://rust-analyzer.github.io/manual.html#go -to-type-definition
[find all references]: https://rust-analyzer.github.io/manual.html#find -all-references
[workspace symbol search]: https://rust-analyzer.github.io/manual.html#workspace -symbol
[rename]: https://rust-analyzer.github.io/manual.html#rename
[types and documentation on hover]: https://rust-analyzer.github.io/manual.html#hover
[inlay hints]: https://rust-analyzer.github.io/manual.html#inlay -hints
[semantic syntax highlighting]: https://rust-analyzer.github.io/manual.html#semantic -syntax-highlighting
[assist(code actions)]: https://rust-analyzer.github.io/manual.html#assists -code-actions
[manual]: https://rust-analyzer.github.io/manual.html
2021-03-01 14:47:54 -05:00
## Quick start
2021-03-01 15:07:36 -05:00
2021-03-01 15:19:30 -05:00
1. Install [rustup]
2021-03-01 14:47:54 -05:00
2. Install the [rust-analyzer extension]
[rustup]: https://rustup.rs
[rust-analyzer extension]: https://marketplace.visualstudio.com/items?itemName=matklad.rust-analyzer
## Configuration
This extension provides configurations through VSCode's configuration settings. All the configurations are under `rust-analyzer.*` .
2021-03-01 15:07:36 -05:00
See < https: // rust-analyzer . github . io / manual . html #vs -code-2 > for more information on VSCode specific configurations.
2021-03-01 14:47:54 -05:00
## Communication
For usage and troubleshooting requests, please use "IDEs and Editors" category of the Rust forum:
2021-03-01 15:07:36 -05:00
< https: / / users . rust-lang . org / c / ide / 14 >
2021-03-01 14:47:54 -05:00
## Documentation
2021-03-01 15:07:36 -05:00
See < https: / / rust-analyzer . github . io / > for more information.