It’s time to upgrade your favorite IDE! In this post I will list some of my favorite “off-the-beaten-path” extensions for Visual Studio that make my daily tasks much easier. I will not list the obvious ones, such as ReSharper and OzCode (or even Web Essentials), but rather few relatively unknown ones that do some very cool things.

Are you ready? Let’s begin!

BuildVision

BuildVision (source) is an extension that visualizes your build process:

This little extension shows you the status of your build process, how long it took, and most importantly, errors (if any), that occurred during the build. What’s nice about this, is the errors are grouped under each project, so it’s much easier to navigate than going through a flat list in the Errors output:

Git Diff Margin

GitDiffMargin (source) adds a margin on the left column (or the scroll bar, if you prefer) of the Visual Studio editor, and shows you the diffs between your changed/deleted lines, allowing you to navigate and revert quickly to the previous change!

It’s a perfect companion to git projects (so, all of them!), and it works very nicely with the Visual Studio Git Provider, if you use it.

Which brings me to:

NoGit

NoGit (source) does one thing and one thing only - it disables the built-in Visual Studio Git source-control provider, which has a habit of re-enabling itself whenever you open a solution that uses git. NoGit will turn off this provider always, whenever a solution is opened.

Reopen Start Page

Another time saver is Reopen Start Page (source), which does exactly what it says - reopens the Visual Studio Start page when you close a solution. Personally, I make use of the recent solutions list on the Start page, which makes it really convenient to open recent solutions!

SaveAllTheTime

SaveAllTheTime (source) is another gem that makes Visual Studio to save changed files and projects ALL THE TIME. Visual Studio sometimes doesn’t save project files when you rename or move files around. SaveAllTheTime makes sure everything is saved before you commit your changes!

In addition, SaveAllTheTime contains a small widget, reminding you to commit often. If you’re a git power user, or don’t use git(ಠ_ಠ), you can disable this widget.

TabSanity

I discovered TabSanity (source) fairly recently, and it was one of those where has this been all my life!!1 moments. This extension makes tabs-as-spaces behaves like actual tabs! The backspace and delete keys, arrow key navigation will not allow the caret to land within the spaces that form a tab, and it will skip to the next tab, saving you keystrokes!

EmojiVS

Finally, let’s add some fun to our code with EmojiVS (source) - an extension that adds github emojis to your code (more specifically, code comments). Because, why not?

And it even gives you IntelliSense:

Note: if you’re a ReSharper user, you need to install the ReMoji extension in addition to EmojiVS to get code completion.