Rust Analyzer Language Server

Rust Analyzer Language Server

github.com

1

About this website

Rust-analyzer is a free and open-source incremental compiler and language server for the Rust programming language, providing IDE features like code completion, go-to-definition, type inference, and inline errors. Originally created by Aleksey Kladov (matklad, a former IntelliJ Rust team member at JetBrains) in 2018 as a from-scratch reimplementation of Rust language tooling, rust-analyzer became the official Rust language server in 2023, replacing RLS (Rust Language Server). It is maintained under the rust-lang organization and bundled with rustup (the Rust toolchain installer). Key features: code completion: context-aware completion for types, functions, methods, fields, and keywords, with automatic import insertion and snippet expansion. Completion respects the current scope, visibility rules, and trait bounds. Go-to-definition: navigates to the definition of symbols across the entire project and dependencies, including standard library and third-party crates. Hover information: shows type signatures, documentation, and source for the hovered symbol. Inline diagnostics: real-time error and warning highlighting as you type, without needing to run cargo check. Inlay hints: displays inferred types, parameter names, lifetimes, and closure return types inline in the editor. Type inference: full type inference engine for Rust, resolving types for all expressions and statements. Code actions: quick fixes, auto-import, extract function/variable, fill struct fields, generate impl blocks, generate trait implementations. Refactoring: rename symbols project-wide with correct handling of macro expansions and modules. Formatting: integrates with rustfmt for code formatting. Macro expansion: expands declarative macros (macro_rules) and some procedural macros for accurate analysis. Cargo integration: runs cargo metadata to resolve dependencies and project structure. Works with VS Code (primary), Vim/Neovim, Emacs, Helix, and Sublime Text. Rust. MIT/Apache-2.0.

Tags & Categories

Categories

Tags

Statistics

1
Views
0
Clicks
0
Like
0
Dislike

Comments

Log In to post a comment

No comments yet. Be the first!