rust-lang-nursery/rls-vscode

Name: rls-vscode

Owner: rust-lang-nursery

Description: RLS-based plugin for VSCode

Created: 2016-09-02 22:57:33.0

Updated: 2018-01-17 22:53:11.0

Pushed: 2018-01-17 20:36:21.0

Homepage:

Size: 290

Language: TypeScript

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Rust support for Visual Studio Code

Build Status

impl period has been started! Join us at Gitter.im.

Adds language support for Rust to Visual Studio Code. Supports:

Rust support is powered by the Rust Language Server (RLS). If you don't have it installed, the extension will install the RLS for you.

This extension is built and maintained by the RLS team, part of the Rust Developer Tools team. It is the reference client implementation for the RLS. Our focus is on providing a stable, high quality extension that makes best use of the RLS. We aim to support as many features as possible, but our priority is supporting the essential features as well as possible.

For support, please file an issue on the repo or talk to us in #rust-dev-tools on IRC (Mozilla servers). There is also some troubleshooting and debugging advice.

Contributing code, tests, documentation, and bug reports is appreciated! For more details on building and debugging, etc., see contributing.md.

Quick start
Configuration

This extension provides some options into VSCode's configuration settings. These options have names which start with rust.. You can find the settings under File > Preferences > Settings, they all have Intellisense help.

Some highlights:

Features
Commands

Commands can be found in the command palette (ctrl + shift + p). We provide the following commands:

Snippets

Snippets are code templates which expand into common boilerplate. Intellisense includes snippet names as options when you type; select one by pressing 'enter'. You can move to the next 'hole' in the template by pressing 'tab'. We provide the following snippets:

Tasks

The plugin provides tasks for building, running, and testing using the relevant cargo commands. You can build using ctrl + shift + b. Access other tasks via Run tasks in the command palette.

The plugin writes these into tasks.json. The plugin will not overwrite existing tasks, so you can customise these tasks. To refresh back to the defaults, delete tasks.json and restart VSCode.

Format on save

To enable formatting on save, you need to set the editor.formatOnSave setting to true. Find it under File > Preferences > Settings.

Requirements
Implementation

This extension almost exclusively uses the RLS for its feature support (syntax highlighting, snippets, and build tasks are provided client-side). The RLS uses the Rust compiler (rustc) to get data about Rust programs. It uses Cargo to manage building. Both Cargo and rustc are run in-process by the RLS. Formatting and code completion are provided by rustfmt and Racer, again both of these are run in-process by the RLS.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.