• Stars
    star
    702
  • Rank 62,164 (Top 2 %)
  • Language
    C#
  • License
    MIT License
  • Created almost 10 years ago
  • Updated almost 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Visual Studio extension for Rust

Visual Studio extension for Rust

Build status

Screenshot

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").

Features

  • 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

Contributing

How to contribute?

Issues

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.

Code

  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.

Prerequisites

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.

Contact

This project is currently maintained by vosen.

Feel free to mail him or ask around in #rust-gamedev on irc.mozilla.org.

License

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

More Repositories

1

piston

A modular game engine written in Rust
Rust
4,533
star
2

conrod

An easy-to-use, 2D GUI library written entirely in Rust.
Rust
3,353
star
3

hematite

A simple Minecraft written in Rust with the Piston game engine
Rust
1,803
star
4

dyon

A rusty dynamically typed scripting language
Rust
1,707
star
5

glfw-rs

GLFW3 bindings and idiomatic wrapper for Rust.
Rust
631
star
6

Piston-Tutorials

Tutorials for Piston
Rust
535
star
7

graphics

A library for 2D graphics, written in Rust, that works with multiple back-ends
Rust
476
star
8

piston-examples

A collection of examples using the Piston game engine
GLSL
342
star
9

rust-empty

A Makefile to get started with Rust (DEPRECATED)
Makefile
184
star
10

piston_window

The official Piston convenience window wrapper for the Piston game engine
Rust
154
star
11

turbine

A 3D game engine with built-in editor
Rust
139
star
12

hematite_server

A Minecraft server clone
Rust
137
star
13

resize

Simple resampling library in pure Rust
Rust
122
star
14

hematite_nbt

A full-featured Rust crate for working with Minecraft's Named Binary Tag (NBT) file format, including Serde support.
Rust
96
star
15

meta

A DSL parsing library for human readable text documents
Rust
87
star
16

freetype-rs

Rust bindings for FreeType library
Rust
85
star
17

vecmath

A simple and type agnostic Rust library for vector math designed for reexporting
Rust
77
star
18

ai_behavior

AI behavior tree
Rust
70
star
19

skeletal_animation

A Rust library for skeletal animation
Rust
62
star
20

texture_packer

πŸ“¦ A library for texture packing
Rust
62
star
21

opengl_graphics

An OpenGL 2D back-end for the Piston game engine
Rust
60
star
22

sprite

A library for sprite hierarchy and scene management
Rust
56
star
23

gfx_graphics

A Gfx 2D back-end for the Piston game engine
Rust
55
star
24

music

A high level library for playing music and sound effects
Rust
41
star
25

eco

A tool for reasoning about breaking changes in Rust ecosystems
Rust
39
star
26

interpolation

A library for interpolation
Rust
30
star
27

wavefront_obj

A parser written in rust for the wavefront .obj file format.
Rust
27
star
28

glutin_window

A Piston window back-end using the Glutin library
Rust
25
star
29

freetype-sys

Low level bindings for the FreeType font library
C
24
star
30

sdl2_window

A SDL2 back-end for the Piston game engine
Rust
23
star
31

piston_collada

Rust library for parsing COLLADA files
Rust
23
star
32

skeletal_animation_demo

Demo project for PistonDevelopers/skeletal_animation
Rust
22
star
33

history_tree

A persistent history tree for undo/redo
Rust
22
star
34

gfx_text

Draw text for gfx using freetype
Rust
22
star
35

dev_menu

In-game developer menu for Piston and gfx-rs
Rust
17
star
36

glium_graphics

A Glium 2D back-end for the Piston game engine
Rust
17
star
37

fps_counter

A Frames Per Second counter
Rust
17
star
38

truetype

A library for reading fonts from the TrueType format
Rust
17
star
39

gfx_voxel

A voxel rendering library on top of Gfx
Rust
15
star
40

current

A library for setting current values for stack scope, such as application structure
Rust
15
star
41

cam

A Rust library for 3D camera and navigation
Rust
14
star
42

pluto

Game competition server software for Rust gamedev community
HTML
14
star
43

shaders

Shaders for game development in Rust
GLSL
14
star
44

construct

A library for higher order functional programming with homotopy maps to construct 3D geometry
Rust
14
star
45

find_folder

A simple function for searching for a folder with a given name from the current working directory.
Rust
13
star
46

quaternion

A simple and type agnostic Rust library for quaternion math designed for reexporting
Rust
12
star
47

mush

gui for dialogue graphs, et al.
Rust
12
star
48

hematite.piston.rs

The website for the Hematite project
CSS
10
star
49

asset_store

DEPRECATED - A unified method for easily reading and caching files over the filesystem and network.
Rust
10
star
50

dyon_asteroids

A demo game project for Dyon/Piston/Glium to test Dyon and research design for dyon_interactive
Rust
9
star
51

binaries

Pre-built binaries for external dependencies commonly used in Piston
8
star
52

docs

πŸ“„ Documentation for piston's projects.
8
star
53

physfs-rs

Rust bindings for PhysFS
Rust
8
star
54

graphics-lab

A place to visualize and test concepts related to Rust-Graphics
Rust
7
star
55

texture

A library for texture conventions
Rust
7
star
56

opengex

Meta rules for parsing the OpenGEX format
Rust
7
star
57

gfx_debug_draw

Simple debug renderer (lines, text, etc) for gfx
Rust
7
star
58

input

DEPRECATED - moved into the piston repo
Rust
7
star
59

wgpu_graphics

A WGPU 2D back-end for the Piston game engine
Rust
7
star
60

camera_controllers

A Rust library for controlling 3D cameras for the Piston engine
Rust
6
star
61

glfw_window

A GLFW window back-end for the Piston game engine
Rust
6
star
62

geometry

A structure for storing and look up 3D geometry
Rust
6
star
63

dual_quaternion

A simple and type agnostic Rust library for dual-quaternion math designed for reexporting
Rust
6
star
64

event_loop

DEPRECATED - moved into the piston repo
Rust
5
star
65

blog.piston.rs

The Piston Blog
HTML
5
star
66

dyon_to_rust

Dyon to Rust transpiler
Rust
5
star
67

dyon_snippets

A place to share Dyon source code and discuss library design
Rust
4
star
68

editor

Editor interface
Rust
4
star
69

project_r

DEPRECATED - Collaboration on an open source game to push Piston forward
4
star
70

winit_window

A winit back-end for pistoncore-window
Rust
4
star
71

quack

Quack - Duck typing traits
Rust
4
star
72

ddsfile

DirectDraw Surface (DDS) file format parsing and construction
Rust
4
star
73

button_tracker

A Piston library for tracking key/mouse press events from windows for use in update loops
Rust
4
star
74

viewport

A library for storing viewport information
Rust
4
star
75

read_color

A simple library for reading hex colors
Rust
4
star
76

atom-language-dyon

Dyon language support in Atom
CSS
4
star
77

dyon-tutorial

Tutorial for the Dyon programming language
HTML
3
star
78

button_controller

A Piston library for handling button state and events
Rust
3
star
79

graphics_tree

A 2D graphics backend for Piston-Graphics that stores and optimizes commands
Rust
2
star
80

float

Traits for generic floats in game development
Rust
2
star
81

array

Convenience methods for working with arrays
Rust
2
star
82

table

A table object type for dynamical data
Rust
2
star
83

range

A library for range addressing
Rust
2
star
84

read_token

A simple library to read tokens using look ahead
Rust
2
star
85

shapes

Convenience structs for 2D shapes
Rust
2
star
86

binpool

An experimental uniform binary format for particle physics analysis
Rust
2
star
87

image_buffer

Provides a buffer type to ease the work with images and different color types.
Rust
2
star
88

drag_controller

A drag controller
Rust
2
star
89

vec

DEPRECATED - An experimental library using SIMD instructions for generic vector types
Rust
2
star
90

scroll_controller

A Piston library for handling scrolling areas
Rust
1
star
91

timer_controller

A timer controller
Rust
1
star
92

split_controller

A Piston library for handling split layout state and events
Rust
1
star
93

lup

A custom indexed loop macro library for Rust.
Rust
1
star
94

deform_grid

A 2D deform grid for Piston-Graphics
Rust
1
star
95

select_color

A library for color selection
Rust
1
star
96

inventory

DEPRECATED - Plugin management for Rust programs
Rust
1
star
97

rect

Helper methods for computing simple rectangle layout
Rust
1
star
98

gfx_texture

A Gfx texture representation that works nicely with Piston libraries
Rust
1
star
99

underscore_args

Macro for underscore named argument syntax, aka Dyon
Rust
1
star
100

shader_version

A helper library for detecting and picking compatible shaders
Rust
1
star