Racer alternatives and similar packages
Based on the "Development tools" category.
Alternatively, view Racer alternatives based on common mentions on social networks and blogs.
-
rust-analyzer
DISCONTINUED. A Rust compiler front-end for IDEs [Moved to: https://github.com/rust-lang/rust-analyzer] -
Clippy
A bunch of lints to catch common mistakes and improve your Rust code. Book: https://doc.rust-lang.org/clippy/ -
gdbgui
Browser-based frontend to gdb (gnu debugger). Add breakpoints, view the stack, visualize data structures, and more in C, C++, Go, Rust, and Fortran. Run gdbgui from the terminal and a new tab will open in your browser. -
trust
Travis CI and AppVeyor template to test your Rust crate on 5 architectures and publish binary releases of it for Linux, macOS and Windows -
cargo-deb
DISCONTINUED. A cargo subcommand that generates Debian packages from information in Cargo.toml -
rst
DISCONTINUED. The open source design documentation tool for everybody [Moved to: https://github.com/vitiral/artifact]
CodeRabbit: AI Code Reviews for Developers

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Racer or a related project?
README
Racer - code completion for Rust
[racer completion screenshot](images/racer_completion.png)
[racer eldoc screenshot](images/racer_eldoc.png)
RACER = R*ust *A*uto-*C*omplete-*er. A utility intended to provide Rust code completion for editors and IDEs. Maybe one day the 'er' bit will be exploring + refactoring or something.
DISCLAIMER
Racer is not actively developped now. Please consider using newer software such as rust-analyzer.
Installation
NOTE From 2.1, racer needs nightly rust
Requirements
Current nightly Rust
If you're using rustup, run
rustup toolchain install nightly
rustup component add rustc-dev --toolchain=nightly
Note: The second command adds the rustc-dev
component to the nightly
toolchain, which is necessary to compile Racer.
Cargo
Internally, racer calls cargo as a CLI tool, so please make sure cargo is installed
With cargo install
Simply run:
cargo +nightly install racer
As mentioned in the command output, don't forget to add the installation directory to your PATH
.
From sources
Clone the repository:
git clone https://github.com/racer-rust/racer.git
cd racer; cargo +nightly build --release
. The binary will now be in./target/release/racer
Add the binary to your
PATH
. This can be done by moving it to a directory already in yourPATH
(i.e./usr/local/bin
) or by adding the./target/release/
directory to yourPATH
Configuration
Fetch the Rust sourcecode
- automatically via rustup and run
rustup component add rust-src
in order to install the source to$(rustc --print sysroot)/lib/rustlib/src/rust/library
(or$(rustc --print sysroot)/lib/rustlib/src/rust/src
in older toolchains). Rustup will keep the sources in sync with the toolchain if you runrustup update
. - manually from git: https://github.com/rust-lang/rust
Note
If you want to use
racer
with multiple release channels (Rust has 3 release channels:stable
,beta
andnightly
), you have to also download Rust source code for each release channel you install.e.g. (rustup case) Add a nightly toolchain build and install nightly sources too
rustup toolchain add nightly
rustup component add rust-src
- automatically via rustup and run
(Optional) Set
RUST_SRC_PATH
environment variable to point to the 'src' dir in the Rust source installation e.g.% export RUST_SRC_PATH=$(rustc --print sysroot)/lib/rustlib/src/rust/library
or% export RUST_SRC_PATH="$(rustc --print sysroot)/lib/rustlib/src/rust/src"
(older)
It's recommended to set RUST_SRC_PATH
for speed up, but racer detects it automatically if you don't set it.
- Test on the command line:
racer complete std::io::B
(should show some completions)
Note
To complete names in external crates, Racer needs Cargo.lock
.
So, when you add a dependency in your Cargo.toml
, you have to run a build command
such as cargo build
or cargo test
, to get completions.
Editors/IDEs Supported
RLS
Racer is used as a static library in RLS
Eclipse integration
Racer can be used with Eclipse through the use of RustDT. (User guide is linked in repo description)
Emacs integration
Emacs integration has been moved to a separate project: emacs-racer.
Gedit integration
Gedit integration can be found here.
Builder integration
Gnome Builder integration can be found here
Kate integration
The Kate community maintains a plugin. It is bundled with recent releases of Kate (tested with 16.08 - read more here).
Enable 'Rust code completion' in the plugin list in the Kate config dialog;
On the new 'Rust code completion' dialog page, make sure 'Racer command' and 'Rust source tree location' are set correctly.
Sublime Text integration
The Sublime Text community maintains some packages that integrates Racer
- RustAutoComplete that offers auto completion and goto definition.
- AnacondaRUST from the anaconda plugins family that offers auto completion, goto definition and show documentation
Vim integration
Vim integration has been moved to a separate project: vim-racer.
Visual Studio Code extension
Racer recommends the official Rust (rls)
extension based on RLS, which uses Racer for completion.
Atom integration
You can find the racer package for Atom here
Kakoune integration
Kakoune comes with a builtin integration for racer auto completion.