rust-lang

    rust-lang/rust-analyzer

    #304 this week

    A Rust compiler front-end for IDEs

    backend
    hacktoberfest
    lsp-server
    rust
    Rust
    Apache-2.0
    16.7K stars
    2.2K forks
    16.7K GitHub watchers
    Updated 8/3/2026
    View on GitHub

    Backblaze Generative Media Hackathon

    Build the next generation of AI media apps with Genblaze, stored on Backblaze B2. $10,000 in prizes.

    Enter the hackathon

    Loading star history...

    Use Cases & Benefits

    • rust-analyzer is a Rust compiler front-end providing IDE features like code completion, go-to-definition, and refactorings via the Language Server Protocol.
    • Key technologies include Rust language, LSP support, integration with rustfmt, rustc, and clippy for formatting and diagnostics.
    • Strengths are extensive IDE support, active development since 2017, and strong community engagement; limitations may include dependency on editor LSP compatibility.
    • Organizations can integrate rust-analyzer into their development environments to improve Rust code quality and developer productivity with real-time feedback and refactoring tools.
    • Ideal use cases are Rust development in editors like VS Code, Vim, and Emacs, especially for teams seeking enhanced code navigation and automated diagnostics.

    About rust-analyzer

    rust-analyzer logo

    rust-analyzer is a language server that provides IDE functionality for writing Rust programs. You can use it with any editor that supports the Language Server Protocol (VS Code, Vim, Emacs, Zed, etc).

    rust-analyzer features include go-to-definition, find-all-references, refactorings and code completion. rust-analyzer also supports integrated formatting (with rustfmt) and integrated diagnostics (with rustc and clippy).

    Internally, rust-analyzer is structured as a set of libraries for analyzing Rust code. See Architecture in the manual.

    Quick Start

    https://rust-analyzer.github.io/book/installation.html

    Documentation

    If you want to contribute to rust-analyzer check out the CONTRIBUTING.md or if you are just curious about how things work under the hood, see the Contributing section of the manual.

    If you want to use rust-analyzer's language server with your editor of choice, check the manual. It also contains some tips & tricks to help you be more productive when using rust-analyzer.

    Security and Privacy

    See the security and privacy sections of the manual.

    Communication

    For usage and troubleshooting requests, please use "IDEs and Editors" category of the Rust forum:

    https://users.rust-lang.org/c/ide/14

    For questions about development and implementation, join rust-analyzer working group on Zulip:

    https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Frust-analyzer

    License

    rust-analyzer is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0).

    See LICENSE-APACHE and LICENSE-MIT for details.

    Discover Repositories

    Search across tracked repositories by name or description