mirror of
https://github.com/rust-lang/rust.git
synced 2026-05-16 13:05:18 +03:00
60982dc8fc
feat: Support multiple tab stops for completions in VSCode Uses the native VSCode support for `SnippetTextEdit`s. Fixes #13229 and fixes #8531. https://github.com/rust-lang/rust-analyzer/assets/13354275/a2d2c033-bb30-4f34-92ca-bf3f4f744cdc This is done in a slightly hacky way, as `vscode-languageclient` can't convert RA's `SnippetTextEdit`s into vscode `SnippetTextEdit`s and will appear to use a [different format](https://github.com/microsoft/vscode-languageserver-node/blob/295aaa393fda8ecce110c38880a00466b9320e63/types/src/main.ts#L1501-L1516) in the future. --- ~~Marked as draft since as-is, this will cause completions to double-indent any multi-line code generated.~~ **Update:** This also fixes up edits so that any multi-line code won't be double-indented.
rust-analyzer
This extension provides support for the Rust programming language.
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
Quick start
- Install rustup.
- Install the rust-analyzer extension.
Configuration
This extension provides configurations through VSCode's configuration settings. All configurations are under rust-analyzer.*.
See the manual for more information on VSCode specific configurations.
Communication
For usage and troubleshooting requests, please use the "IDEs and Editors" category of the Rust forum.
Documentation
See rust-analyzer.github.io for more information.