mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-12-29 06:23:25 +00:00
8011029d3a
fix: Suppress extra indent after the end of field and function chains (spurred on by <https://github.com/rust-lang/rust-analyzer/issues/4182#issuecomment-671275652>) Caveat that this doesn't work for after tail expressions, although there shouldn't be anything after those anyways. This also complicates when to reload the language configuration by nature of now always having a language configuration applicable. Examples of indentation fixes: ```rs fn main() { println!("Hello!"); // < enter here! // ... indents down here fs::read_to_string("soup") // < enter here! // ... still indents down here :( .map(|_| ()) .map(|_| ()) // < enter here! // ... still indents down here :D .map_err(|_| ()) .unwrap(); // < enter here! // ... indents down here :D // ... and subsequent enters stay at the same indent 0.0f64 .to_radians() .to_radians() .to_radians() // force semi on a new line ; // < enter here! // ... indents down here :D } fn tail_end() -> i32 { 0i32.wrapping_abs() .wrapping_abs() .wrapping_abs() .wrapping_abs() // < enter here! // ... still indents here 🤷 } ``` |
||
---|---|---|
.. | ||
src | ||
tests | ||
.eslintignore | ||
.eslintrc.js | ||
.gitignore | ||
.prettierignore | ||
.prettierrc.js | ||
.vscodeignore | ||
icon.png | ||
language-configuration.json | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
ra_syntax_tree.tmGrammar.json | ||
README.md | ||
tsconfig.eslint.json | ||
tsconfig.json |
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.