The freemium Visual Commander extension lets you automate repetitive tasks in Visual Studio 2019/2017/2015 and SSMS 17/2016. You can reuse existing Visual Studio macros from previous versions of the IDE and create new commands and extensions in C# or VB. You can also record and playback keyboard commands for the Visual Studio text editor:
A command is a class written in C# or VB implementing the Run method. It has full access to the Visual Studio automation model and .NET framework. Code of an existing Visual Studio macro from previous versions of Visual Studio can be just pasted in the Run subroutine of a new VB command. See command examples.
You can run the created command directly from the command editor, from the VCmd menu, from the Commands window by double-click or with the Run button. You can assign a keyboard shortcut to a command and you can add commands to the Visual Studio toolbar:
You can record your keystrokes and text editing commands from the Visual Studio text editor as a macro and play it back multiple times:
Keyboard shortcuts Ctrl+Shift+R and Ctrl+Shift+P are assigned to the Record Macro and Run Macro commands if they are not used in your Visual Studio keyboard scheme. If they are used, but you want to reassign them to Visual Commander, you can manually assign them in Visual Studio keyboard options for the VCmd.RecordMacro and VCmd.RunMacro commands.
There is only one macro - recording the new macro overwrites the previous one. If you want to save the macro for future regular use, you can manually copy its code to a new command or use the explicit Save Macro as Command menu item.
You can record Find Next and Find Previous commands from the Find and Replace dialog:
The recorded code sets all Find options, performs search and verifies that the text is found:
You can record a macro in VB or C#. Just change the default language before the recording in Visual Studio options. The language selected will be also used as default for new commands and extensions:
In an extension you can hook to Visual Studio events (e.g. build events, window and document operations, solution and project loading, debugger events) and automatically perform custom tasks when needed. Extension are loaded by Visual Commander on Visual Studio startup and when you press Install in the extension editor dialog. See extension examples.
The References dialog lets you add external assemblies for your code. For assemblies in the GAC you can specify a short or a full name. For other assemblies you need to specify the full path. References are separated by new lines:
Command and extension examples include sample code you can use as is or modify for your needs:
You can open Command Examples and Extension Examples windows from the main VCmd menu. You can run an example command from the Command Examples window and from the command editor window. You can change an example command in the command editor window, but these changes are not saved when you close Visual Studio. Pressing Save in the Command Examples window copies the selected example command to normal commands where you can modify code and persist changes, assign a keyboard shortcut to the command and run it from the VCmd menu.
Similarly for extension examples. You can install them from the Extension Examples windows and from the extension editor window. Pressing Save copies the selected extension to normal extensions where you can modify code and persist changes, set the extension to run on Visual Studio startup.
You can export selected commands and extensions into a .vcmd file to share with others and for backup purposes:
During import, commands and extensions from the file are added to your existing ones. Added extensions are not executed immediately after importing, you can manually Edit and Install them or restart Visual Studio.
You can backup and restore assigned keyboard shortcuts to Visual Commander commands: download vcmd.
Visual Commander settings (commands, extensions and the temporary macro) are stored in "%APPDATA%\Sergey Vlasov\Visual Commander\1.0\snippets.vcmd".
The free edition supports up to 10 commands and 5 extensions, the professional edition supports up to 99 commands and 50 extensions.