This page lists features available in VSCommands 11 for Visual Studio 2012.
Click here to see features available in VSCommands 10 for Visual Studio 2010.
Downloading VSCommands
All versions of VSCommands are available from Visual Studio Gallery:
- VSCommands 10 for Visual Studio 2010
http://visualstudiogallery.msdn.microsoft.com/d491911d-97f3-4cf6-87b0-6a2882120acf - VSCommands 11 for Visual Studio 2012
http://visualstudiogallery.msdn.microsoft.com/a83505c6-77b3-44a6-b53b-73d77cba84c8
Accesing Options
All features exposed by VSCommands can be customized, enabled or disabled at any point in time. Most configuration changes will take effect as soon as you change them, but some may require Visual Studio to be restarted.
VSCommands options can be accessed from Visual Studio Options dialog (Tools | Options... | VSCommands) or directly from VSCommands menu (Tools | VSCommands | Options)
Debug Assistance
Debug As Different User
VSCommands allows you to easily start debugging under credentials of a different user. This option is available from project context menu under Debug section (Debug | Debug as Different User).
Debug as Different User also allows you to use authentication methods other than combination of username and password, such as certificate or a smartcard and pin.
Run As Different User
Run As Different User allows you to run a project under credentials of a different user. Unlike Debug As Different User debugger will not be attached to a new process.
IDE
-
Visual Studio Synchronization
-
Output Window Enhancements
-
Main Menu Enhancements
-
Solution Badges
Settings Synchronization
VSCommands provides ability to synchronize IDE settings between different computers. If you are a busy programmer working on different machines throughout the week, whether it is a desktop at work or a laptop on a train, or perhaps you find yourself reinstalling your development environment quite often and don't want to waste your time on confguration, then you will love this feature!
VSCommands supports settings synchronization to a folder on your local file system, which you can further synchronize with a cloud using file synchronization services such as Dropbox.
This feature can synchronize Visual Studio settings, Code Snippets and VSCommands settings.
Visual Studio Settings Synchronization
To enable Visual Studio Settings Synchronization:
- Open VSCommands Options
-
Open General | Settings Synchronization settings group
- Select Sync Directory Location
- Check Enable Settings Synchronization
- Check Synchronize Visual Studio Settings
- Click Save button
VSCommands will export all current Visual Studio settings (except for Window Layouts) to the Sync Directory and will also monitor this directory for changes.
Settings are stored in file named visualstudio.vsXX.settings where vsXX is the version of Visual Studio - this allows Sync Directory to store settings for all supported versions of Visual Studio at the same time.
VSCommands will automatically import settings file if new version is detected in Sync Directory
Current Visual Studio settings will also be automatically synchronized back to the Sync Directory when Visual Studio exits.
When changing Visual Studio settings make sure that only one instance of Visual Studio is currently open.
Visual Studio saves options changes when it exits and therefore last instance to exit will overwrite any existing settings. [Read more on Microsoft Connect]
VSCommands Settings Synchronization
To enable VSCommands Settings Synchronization:
- Open VSCommands Options
-
Open General | Settings Synchronization settings group
- Select Sync Directory Location
- Check Enable Settings Synchronization
- Check Synchronize VSCommands Settings
- Click Save button
VSCommands will export all current VSCommands settings to the Sync Directory and will also monitor this directory for changes.
Settings are stored in file named vscommands.vscXX.settings where vsXX is the version of VSCommands - this allows Sync Directory to store settings for all versions of VSCommands at the same time.
VSCommands will automatically import settings file if new version is detected in Sync Directory
Current VSSCommands settings will also be automatically synchronized back to the Sync Directory when they are updated.
Code Snippets Settings Synchronization
To enable VSCommands Settings Synchronization:
- Open VSCommands Options
-
Open General | Settings Synchronization settings group
- Select Sync Directory Location
- Check Enable Settings Synchronization
- Check Synchronize Code Snippets
- Click Save button
VSCommands will keep all user defined Code Snippets in sync with Sync Directory and will also monitor this directory for changes. Code Snippets are stored in subfolder named vsXX.code-snippets where vsXX is the version of Visual Studio - this allows Sync Directory to store Code Snippets for all supported versions of Visual Studio at the same time.
VSCommands will automatically import Code Snippets if new version is detected in Sync Directory
Local Code snippets will also be automatically synchronized back to the Sync Directory when they are updated.
User defined Code Snippets are located in following folders:
Visual Studio 2010 - %USERPROFILE%\My Documents\Visual Studio 2010\Code Snippets
Visual Studio 11 - %USERPROFILE%\My Documents\Visual Studio 11\Code Snippets
Output Window Enhancements
VSCommands will automatically highlight important messages in Output Windows. This includes build errors, warnings and exceptions or binding errors during program execution.
Build Output highlighting will also work with build logs open in main editor.
You can configure how different messages are highlighted from Tools | Options | Environment | Fonts And Colors | VSCommands
You must run Visual Studio with elevated permissions (as Administrator) at least once for VSCommands group to appear in Fonts And Color settings.
This feature supports Themes introduced in Visual Studio 2012 and comes with three sets of settings adjusted for Light, Dark and High Contrast themes. The settings will reload automatically when you switch between themes in Visual Studio.
Main Menu Enhancements
VSCommands provides several enhancements to Visual Studio Main Menu allowing you to customize its look or even hide it altogether giving you more workspace.
Solution Badges
Solution Badges are used to help you navigate between many instances of Visual Studio and are of great help if you work on several projects or branches at the same time.
VSCommands collects information about currently open solution and uses it to provide you with helpful details:
Without Solution Badges it is hard to navigate between instances of Visual Studio:
VSCommands solves this problem by using Solution Badges in Windows Task Switcher and Task Bar Live Preview.
Each Solution Badge contains information about current solution and branch name as well as name of the document being currently edited.
Debugger states (running / break mode) are represented by an icon in bottom left corner:
To configure Solution Badges
- Open VSCommands Options
- Open IDE Enhancements | Solution Badge settings Group
- Set Branch Name Regex
- Set Branch Name Pattern
- Set Main Window Title Pattern
- Set Main Solution Explorer Window Title Pattern
- Set Branch Theme Patterns
Branch Name Regex is a regular expression which will be run against full path of currently loaded solution (e.g. C:\sources\VSIE\VSCommands\Main\VSCommands.sln)
Branch Name Pattern is a pattern which will be used to construct a branch name for currently loaded solution. Name groups matched in Branch Name Regex can be included in Branch Name Pattern by enclosing them in curly brackets '{' and '}'.
Main Window Title Pattern is a pattern which will be used to construct Visual Studio Main Window Title fro currently loaded solution.
Default pattern will use branch name followed by separator and solution name:
Name groups matched in Branch Name Regex can be included in Branch Name Pattern by enclosing them in curly brackets '{' and '}'.
Solution Explorer Window Title Pattern is a pattern which will be used to construct title of Solution Explorer window. Default pattern will use solution name followed by separator and branch name:
Name groups matched in Branch Name Regex can be included in Branch Name Pattern by enclosing them in curly brackets '{' and '}'.
Branch Theme Patterns are used to further specify a type of branch. Branch Themes can be used in projects where you branch by feature, bug or team.
Default settings will try to use parent folder of current solution as a branch name.
For example, if solution is located in C:\sources\VSCommands\Main\VSCommands.sln> then default Branch Name Regex will match two groups:
branchName = Main
solutionFile = VSCommands.sln
Any of the matched groups can be used in Branch Name pattern, but by default only branchName group will be used resulting in full branch name = Main Branch
Default Branch Theme will be used because no specific Branch Theme pattern can be found in solution path (no feature, bug or team).
If solution was located in path which allows to extract Branch Theme (e.g. C:\source\VSCommands\features\Layout Updates\VSCommands.sln) then Solution Badge would be decorated with themed icon (Feature icon in this example).
You can define any number of custom groups in Branch Name Regex and then use them in Branch Name Pattern, Main Window Title Pattern and Solution Explorer Window Title Pattern.
You can also include windows environment variables in above patterns by using {env:XXX} placeholders:
Solution Explorer Enhancements
- Overview
-
Copy / Paste Reference
-
Copy / Paste As Link
-
Locate Source File
-
Zip Solution
-
Open / Edit (Shell)
VSCommands provides several enhancements to Solution Explorer tool window and its context menu.
To enable features related to Solution Explorer:
- Open VSCommands Options
- Open IDE Enhancements | Solution Explorer settings Group
- Select features you want to enable
- Click Save button
Copy / Paste Reference
Quickly copy and paste references between projects in solution.
To copy references between projects:
- Select One or more references from a source project
- Select Copy Reference(s) from context menu
- Select References root node in another project
- Select Paste Reference(s) from context menu
This method supports copying of all reference types:
- Reference to external assembly (.dll)
- Reference to COM library
- Reference to another project
- Reference to NuGet Package
VSCommands will also check if any of selected references is part of a NuGet Package and will make sure that all required packages (together with dependent packages) are added to the project where the reference is pasted.
Copy Project as Reference
You can also quickly copy project as a reference to another project:
- Select project to copy as reference
- Select Copy Project as Reference from context menu
- Select References root node in another project
- Select Paste Reference(s) from context menu
Zip Solution
Zip Solution command allows you to clean and zip whole solution directly from Solution Explorer.
To zip current solution:
- Right-click on solution node in Solution Explorer
- Select Zip Solution... menu item
- Check Clean all build configurations if you want all build configurations for solution to be cleaned
- Check Remove read-only flags if you want read-only flags to be removed from files added to zip archive
- Add wildcards of files to be removed from zip archive
- Add directories to be removed from zip archive
- Click Ok button
Open / Edit (Shell)
Open / Edit (Shell) feature allows you to interact with files not supported natively by Visual Studio directly from Solution Explorer. VSCommands will expose default shell open and edit actions for these files making it easy to run batch files, Power Shell scripts, merge registry files or import certificates.




This also works in Full-Screen mode saving you even more space.