Over time, I've found and collected some useful extension to enhance the development process inside Visual Studio. Here are some of the them.

Power Productivity Tools

We will start with a known one.
The Power Productivity Tools is one of the first extensions you must install when you install Visual Studio. This is just a helper for installing a set of extensions, but I think the most useful are just three : Ctrl + Click Go To Definition, Power Commands for Visual Studio and Solution Error Visualizer.

Ctrl + Click Go To Definition

This extension simply lets you Ctrl+ click on a type and immediately go to its definition. This would take you to the interface or base class, if you rather want to go to the implementation you can use Go to Implementation (Ctrl+F12)

Power Commands for Visual Studio

This extension add many utilities to the contextual menu of the Solution Explorer and a few helpers for the code editor.
Among other things, this extension lets you:

  • Format document on save
  • Remove and sort usings on save
  • Clear all output panes at once
  • Copy project item path
  • Copy/Paste entire class
  • Open command prompt from to a project item

Power Commands Screenshot

Solution Error Visualizer

This extension adds error, warning, and message squiggles to Solution Explorer, so you can see which projects and file the errors, warnings and messages are coming from.

You can also filter and disable categories from the extension options.

Web Essentials 2017

If you do Web development inside Visual Studio, then this extension is a must. It's a set of extension made by the awesome Mads Kristensen ๐Ÿ™Œ๐Ÿผ and it contains many useful extensions, as:

  • Add new file lets you easily add new files of any kind and also allows specifying the path
  • Browser Reload on Save is like a file watcher and reloads the browser whenever a file changes
  • Browser Sync syncs form fields, page navigation and scroll position between browsers
  • Syntax Highlighting Pack adds syntax highlighting to many file formats not supported out of the box like Ruby, Python, Erlang, Haskell, etc

These are just a few, check out the Web Essentials page on the Visual Studio Marketplace to see all the included extensions.

Viasfora

Viasfora is a syntax highlighting helper with many useful features.
Among the features it has keywords highlighting, LINQ query selectors highlighting, braces highlighting, etc

Here are some examples of it highlighting abilities
Keyword highlighting

String highlighting

LINQ query selector highlighting

It also has something called "Rainbow braces" inspired on the "Rainbow Parentheses" plugin for Vim

Rainbow braces

Object Exporter

Lets you stop on a breakpoint and select and export an object to C#, JSON or XML
It is useful for:

  • Persisting an object state for debugging comparisons.
  • Searching for information within objects.
  • Generating C# object initialization code for unit testing.

Object Exporter in Action

CodeNav

CodeNav renders a bar as an editor margin that helps you navigate through all the methods and properties of the current document.

  • Quickly see all the important methods and properties in your document
  • Clicking on an item in the list will take you to that location in the document
  • Sort by file order or by name
  • Toggle visibility by double-clicking the splitter bar
  • Filter items by kind (method, property), access (public, private) and name

Close Tabs To Right

Close Tabs to Right is a simple extension that simple...closes the tabs...to the right of the current document

Close Tabs to the right

JavaScript Regions

Another useful extension by Mads Kristensen, this one allows you to create collapsible regions in JavaScript and TypeScript files.
It supports folding and outlining the regions, and has a snippet for generating the region comment.

JavaScript Regions

LogWindow

This extension allows you to colorize the different types of logs in the output window. So you can set a custom color for Log.Info, another for Log.Error, and so on.

Working Files List

This extension adds a floating/dockable tool window that shows a vertically stacked list of open files.

  • Sort by document project name
  • Sort by document name/recently used order
  • Group by project
  • Automatically assign list entry colours based on project
  • Optionally show parent directories names for each open document
  • File type icons

Select Hyphenated

Double-clicking a hyphenated word in Visual Studio only selects part of the word. This is particularly annoying for CSS class names.

This extension fixes that problem by selecting the entire hyphenated word. You can use Alt+Double-Click to get the original behavior and it works with all types of files.

Multi Edit Mode

Multi Edit Mode screenshot

Allows you to simultaneously edit in more than one location in the editor

If you've ever ran into a case where you wanted to quickly change variable names or multiple loop conditions - you can useMulti Select Mode to set virtual carets that all behave the same.

  • Better integration with Ctrl+Alt+Drag (column selection mode)
  • Support for all languages
  • Typing
  • Pressing Enter / Backspacing / Deleting
  • TABing, Shift-Tabbing
  • Moving the caret around using the keyboard
  • Pasting
  • Intersected carets are removed
  • Undo-ing

Save all the tabs

This extension allows you to quickly save and restore sets of document tabs.
It adds new commands to the Visual Studio Window menu and a Saved Tabs dockable window.

Saved tabs

And here is the set of saved tabs
Set of saved tabs

Favorite Documents

This extension is similar to Save All The Tabs, but it allows you to open individual tabs as well.

Favorite Documents

VSColorOutput

One of the extension I use the most from this list.
VSColorOutput can change the color of a line emitted to the output window based on specified rules. The rules consist of regular expressions and Rules map to classifications which in turn map to colors.

VSColorOutput

Build Vision

BuildVision is a Visual Studio extension to visualize the building process. During the build process, for each project the following columns are updated: State, Build Start Time, Build End Time, Elapsed Time, etc., as well as Errors, Warnings and Messages produced by MSBuild.

Build Vision Image 1

Build Vision Image 2

The extension works only on Visual Studio 2015 and backwards, but here is a fork that supports Visual Studio 2017.

Stay tuned for the next post that will be about extensions that helps with productivity and coding, mainly analyzers and refactorings.