Over time, I've found and collected some useful extension to enhance the development process inside Visual Studio. Here are some of the them.
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.
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)
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
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.
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 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
It also has something called "Rainbow braces" inspired on the "Rainbow Parentheses" plugin for Vim
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.
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 is a simple extension that simple...closes the tabs...to the right of the current document
It supports folding and outlining the regions, and has a snippet for generating the region comment.
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.
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
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.
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
- Pressing Enter / Backspacing / Deleting
- TABing, Shift-Tabbing
- Moving the caret around using the keyboard
- Intersected carets are removed
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.
And here is the set of saved tabs
This extension is similar to Save All The Tabs, but it allows you to open individual tabs as well.
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.
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.
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.