2020-03-02 07:27:26 -06:00
|
|
|
# rust-analyzer
|
|
|
|
|
2022-04-30 13:03:51 -05:00
|
|
|
This extension provides support for the [Rust programming language](https://www.rust-lang.org/).
|
2022-05-13 11:12:54 -05:00
|
|
|
It is recommended over and replaces `rust-lang.rust`.
|
2021-03-01 04:07:15 -06:00
|
|
|
|
2021-03-01 13:47:54 -06:00
|
|
|
## Features
|
2021-03-01 04:07:15 -06:00
|
|
|
|
2022-04-15 12:11:56 -05:00
|
|
|
- [code completion] with [imports insertion]
|
|
|
|
- go to [definition], [implementation], [type definition]
|
|
|
|
- [find all references], [workspace symbol search], [symbol renaming]
|
2021-03-01 14:07:36 -06:00
|
|
|
- [types and documentation on hover]
|
2022-04-15 12:11:56 -05:00
|
|
|
- [inlay hints] for types and parameter names
|
2021-03-01 14:07:36 -06:00
|
|
|
- [semantic syntax highlighting]
|
2022-05-13 11:12:54 -05:00
|
|
|
- a lot of [assists (code actions)]
|
2021-03-01 14:07:36 -06:00
|
|
|
- apply suggestions from errors
|
2022-05-13 11:12:54 -05:00
|
|
|
- ... and many more, check out the [manual] to see them all
|
2021-03-01 04:07:15 -06:00
|
|
|
|
|
|
|
[code completion]: https://rust-analyzer.github.io/manual.html#magic-completions
|
2022-04-15 12:11:56 -05:00
|
|
|
[imports insertion]: https://rust-analyzer.github.io/manual.html#completion-with-autoimport
|
|
|
|
[definition]: https://rust-analyzer.github.io/manual.html#go-to-definition
|
2021-03-01 04:07:15 -06:00
|
|
|
[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
|
2022-04-15 12:11:56 -05:00
|
|
|
[symbol renaming]: https://rust-analyzer.github.io/manual.html#rename
|
2021-03-01 04:07:15 -06:00
|
|
|
[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
|
2022-05-13 11:12:54 -05:00
|
|
|
[assists (code actions)]: https://rust-analyzer.github.io/manual.html#assists-code-actions
|
2021-03-01 04:07:15 -06:00
|
|
|
[manual]: https://rust-analyzer.github.io/manual.html
|
|
|
|
|
2021-03-01 13:47:54 -06:00
|
|
|
## Quick start
|
2021-03-01 14:07:36 -06:00
|
|
|
|
2022-05-13 11:12:54 -05:00
|
|
|
1. Install [rustup].
|
|
|
|
2. Install the [rust-analyzer extension].
|
2021-03-01 13:47:54 -06:00
|
|
|
|
|
|
|
[rustup]: https://rustup.rs
|
2022-05-13 06:21:52 -05:00
|
|
|
[rust-analyzer extension]: https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer
|
2021-03-01 13:47:54 -06:00
|
|
|
|
|
|
|
## Configuration
|
|
|
|
|
2022-05-13 11:12:54 -05:00
|
|
|
This extension provides configurations through VSCode's configuration settings. All configurations are under `rust-analyzer.*`.
|
2021-03-01 13:47:54 -06:00
|
|
|
|
2022-05-13 11:12:54 -05:00
|
|
|
See [the manual](https://rust-analyzer.github.io/manual.html#vs-code-2) for more information on VSCode specific configurations.
|
2021-03-01 13:47:54 -06:00
|
|
|
|
|
|
|
## Communication
|
|
|
|
|
2022-05-13 11:12:54 -05:00
|
|
|
For usage and troubleshooting requests, please use the ["IDEs and Editors" category of the Rust forum](https://users.rust-lang.org/c/ide/14).
|
2021-03-01 13:47:54 -06:00
|
|
|
|
|
|
|
## Documentation
|
|
|
|
|
2022-05-13 11:12:54 -05:00
|
|
|
See [rust-analyzer.github.io](https://rust-analyzer.github.io/) for more information.
|