edubkendo / atom-racer

Intelligent code completion for Rust in the Atom Editor. Requires Racer.
MIT License
115 stars 24 forks source link

Racer

Providing intelligent code completion and "find definition" for Rust via Racer.

A screenshot of racer at work

Installation

  1. Ensure you have the Atom package language-rust installed and active.
  2. Ensure you have Racer properly installed.
  3. Ensure you have a copy of the rustc source code extracted on your disk.
  4. Install this package via Atom's package manager:
    • go to Preferences > Packages, search for racer, and install it
    • OR use the command line apm install racer).

Configuration

go to Preferences > Packages, search for racer, and click Settings

Display Name Description Required Name
Path to the Racer executable Full path (including executable) of Racer's binary (e.g. /Users/me/racer/bin/racer or c:\racer\bin\racer.exe) YES racer.racerBinPath
Path to the Rust source code directory Should point to the rustc source directory (e.g. /Users/me/code/rust/src/) YES racer.rustSrcPath
Autocomplete Scope Blacklist Scopes for which no suggestions will be made (e.g. .source.go .comment) NO racer.autocompleteBlacklist
Show position for editor with definition Can be Right or New. If Right is selected and your view is vertically split, the item will be open in the rightmost pane of the current active pane's row. NO racer.show

Usage

Just type some code in a .rs file, and racer will automatically show you some suggestions (using the autocomplete+ package provided by Atom).

You can also find definition of your current element by pushing the F3 key.

FAQ:

Racer doesn't work, or I see plugin errors when I type:

Your configuration is probably wrong:

My project tree (tree-view) flickers:

We use temporary files to communicate with racer and need to place them along with your source files.

We shaped them as ._racertmpXXXXX because the ._* files are ignored by default by Atom.

Change your configuration so that the tree-view package follows Atom ignore rules!

Note: by the way, you can control what is ignored in the main Atom settings top panel.

Why do you constantly put (and remove) temporary files in my project:

We use temporary files to communicate with racer and need to place them along with your source files so that racer: