dotfiles/.vscode/extensions/saviorisdead.RustyCode-0.18.0/README.md

81 lines
3.8 KiB
Markdown
Raw Normal View History

2016-09-11 09:29:13 +01:00
[![Build Status](https://travis-ci.org/saviorisdead/RustyCode.svg)](https://travis-ci.org/saviorisdead/RustyCode)
# Rust for Visual Studio Code (Latest: 0.18.0)
[Changelog](https://github.com/saviorisdead/RustyCode/blob/master/CHANGELOG.md)
[Roadmap](https://github.com/saviorisdead/RustyCode/blob/master/ROADMAP.md)
This extension adds advanced language support for the Rust language to VS Code, including:
- Autocompletion (using `racer`)
- Go To Definition (using `racer`)
- Go To Symbol (using `rustsym`)
- Format (using `rustfmt`)
- Linter *checkOnSave is experimental*
- Linting can be done via *checkWith is experimental*
- `check`. This is the default. Runs rust compiler but skips codegen pass.
- `check-lib`. As above, but is limited only to library if project has library + multiple binaries
- `clippy` if `cargo-clippy` is installed
- `build`
- Cargo tasks (Open Command Pallete and they will be there)
- Snippets
### IDE Features
![IDE](https://github.com/saviorisdead/RustyCode/raw/master/images/ide_features.png)
## Using
First, you will need to install Visual Studio Code `1.0` or newer. In the command pallete (`cmd-shift-p`) select `Install Extension` and choose `RustyCode`.
Then, you need to install Racer (instructions and source code [here](https://github.com/phildawes/racer)). Please, note that we only support latest versions of `Racer`.
Also, you need to install Rustfmt (instructions and source code [here](https://github.com/rust-lang-nursery/rustfmt))
And last step is downloading Rust language source files from [here](https://github.com/rust-lang/rust).
### Options
The following Visual Studio Code settings are available for the RustyCode extension. These can be set in user preferences or workspace settings (`.vscode/settings.json`)
```json
{
"rust.racerPath": null, // Specifies path to Racer binary if it's not in PATH
"rust.rustLangSrcPath": null, // Specifies path to /src directory of local copy of Rust sources
"rust.rustfmtPath": null, // Specifies path to Rustfmt binary if it's not in PATH
"rust.rustsymPath": null, // Specifies path to Rustsym binary if it's not in PATH
"rust.cargoPath": null, // Specifies path to Cargo binary if it's not in PATH
"rust.cargoHomePath": null, // Path to Cargo home directory, mostly needed for racer. Needed only if using custom rust installation.
"rust.formatOnSave": false, // Turn on/off autoformatting file on save (EXPERIMENTAL)
"rust.checkOnSave": false, // Turn on/off `cargo check` project on save (EXPERIMENTAL)
"rust.checkWith": "build", // Specifies the linter to use. (EXPERIMENTAL)
"rust.useJsonErrors": false, // Enable the use of JSON errors (requires Rust 1.7+). Note: This is an unstable feature of Rust and is still in the process of being stablised
"rust.useNewErrorFormat": false, // "Use the new Rust error format (RUST_NEW_ERROR_FORMAT=true). Note: This flag is mutually exclusive with `useJsonErrors`.
}
```
## Building and Debugging the Extension
[Repository](https://github.com/saviorisdead/RustyCode)
You can set up a development enviroment for debugging the extension during extension development.
First make sure you do not have the extension installed in `~/.vscode/extensions`. Then clone the repo somewhere else on your machine, run `npm install` and open a development instance of Code.
```bash
rm -rf ~/.vscode/extensions/RustyCode
cd ~
git clone https://github.com/saviorisdead/RustyCode
cd RustyCode
npm install
npm run-script compile
code .
```
You can now go to the Debug viewlet and select `Launch Extension` then hit run (`F5`).
If you make edits in the extension `.ts` files, just reload (`cmd-r`) the `[Extension Development Host]` instance of Code to load in the new extension code. The debugging instance will automatically reattach.
## License
[MIT](https://github.com/saviorisdead/RustyCode/blob/master/LICENSE)