Visual Studio extension for Rust
C# Rust ANTLR F#
Latest commit 08a6770 Jan 16, 2017 @vosen vosen committed on GitHub Merge pull request #266 from vosen/master
Replace project.json with packages.config for project resolution and use official pkgdef generator for package registration
Failed to load latest commit information.
MIEngine @ 386b9d0 Update MIEngine Oct 25, 2015
Microsoft.Common.Core Updated imported code from RTVS Oct 19, 2016
RustLexer Updated version and README Oct 12, 2016
VisualRust.Build Added UTF8 encoding for stderr too Oct 25, 2016
VisualRust.Cargo Finish implementing output targets editor Jun 5, 2016
VisualRust.ProjectSystem.FileSystemMirroring Changed namespace of FileSystemMirroring project Oct 19, 2016
VisualRust.Setup Changed namespace of FileSystemMirroring project Oct 19, 2016
VisualRust.Shared Remove UTF8 encoding for StdErr where redirection is not enabled. Add… Oct 29, 2016
VisualRust.Templates Remove BOM from project templates Nov 17, 2016
VisualRust.Test Try to temporarily fix CI release build Oct 21, 2016
VisualRust Replace project.json with packages.config for project resolution and … Jan 16, 2017
tools Download mingw-builds during build and extract gdb Jul 28, 2015
vist_toml Fixes for using recent nightly and Aug 30, 2016
.editorconfig Wrap cargo in MSBuild Oct 10, 2016
.gitattributes Initial commit. Aug 12, 2014
.gitignore Add preliminary Cargo manifest icon Oct 10, 2016
.gitmodules Use our MIEngine instead of relying on one being installed Jul 22, 2015
LICENSE.rtf Update license in the installer Dec 6, 2014
LICENSE.txt Remove ArkeIndustries references Aug 15, 2014 Updated version and README Oct 12, 2016
VisualRust.sln Try to temporarily fix CI release build Oct 21, 2016
appveyor.yml Add AppVeyor config Jan 16, 2017

Visual Studio extension for Rust

Build status


Currently in development, and not feature complete. Stable versions are available on the Visual Studio extension gallery.

Unstable, but more recent builds are downloadable from AppVeyor (choose "Configuration: Release" and "Artifacts").


  • Project support based on Cargo
  • Syntax highlighting
  • Autocomplete
  • Go to definition
  • Debugging for both MSVC and GNU toolchains
    • Conditional breakpoints
    • Watch window (with the ability to change the runtime state)
    • Immediate window (with the ability to change the runtime state)
    • Set next statement
    • Call stack view and navigation


How to contribute?


Feel free to open issues, post comments about progress, questions, new ideas, brain storming etc. You can remove and edit comments as a way of refining ideas in the issue tracker. This is very helpful because many concerns in this project are very complex. Many issues needs to be broken down into new issues before they can be implemented.

Issues marked Ready represent tasks that have a clear design and deliverables. They are recommended starting points if you don't want to spend time discussing and evaluating implementation.

Issues marked Information require some wider perspective and discussion. They are perfect if you want to have an impact on the project but don't have the time to spend coding.


  1. Fork the main repository
  2. Work on a feature in your own private branch
  3. Once you are finished with you work or want someone to you, open a pull request
  4. Someone will review your code and merge it. Some fixes might be required on your side.


To build this, you'll need Visual Studio 2015 and matching Visual Studio SDK for the VS plugin, WiX Toolset 3.10 or higher for the setup project and Java RE. NuGet will take care of the rest.

Build configuration

If you plan to hack on Visual Rust you should understand difference between our two build configurations.

  • For the Release configuration the main project is VisualRust.Setup, its output is a .msi file that consists of two parts:

    • MSBuild integration: this lets you build Rust projects (.rsproj) from the command line and Visual Studio.
    • Visual Studio plugin(s): this adds support for Rust projects (.rsproj) inside Visual Studio. Syntax highlighting, project system, item templates. Everything except building.
  • For the Debug build main project is called simply VisualRust and it builds VisualRust.vsix which is a VS plugin in a format that is suitable for local installation and debugging. It doesn't contain MSBuild integration

    Consequently, for the debug build you'll want to either install just MSBuild integration from the .msi file or build it yourself (VisualRust.Build) and copy to %ProgramFiles(x86)%\MSBuild\VisualRust.

    Also you'll want to modify VisualRust project with location of your Visual Studio installation to launch it automatically when debugging.


This project is currently maintained by vosen.

Feel free to mail him or ask around in #rust-gamedev on


Same as Rust, dual MIT/ASL2. Any contributions made are under this license.