VS Macros are back!
VBA based macros were removed in VS 2012. Since then, the community has stepped up and released extensions to fill that gap, like Extending Visual Studio with your new buddy, VsCommandBuddy.
Macros have always been popular, first as part of the product, and now as an extension. In response to your feedback we have upgraded the Macros for Visual Studio 2013 extension to be compatible with Visual Studio 2015. You can download the upgraded extension from the Visual Studio Gallery.
But wait, there’s more!
As part of our commitment to partnering with our developer community, we have open-sourced the code. So now you can view the code, make your own improvements, and contribute to the project for future releases. The open source project is available on GitHub under the MIT license.
The Macros extension can help you be more productive by enabling you to automate repetitive tasks in the IDE. It lets you record and playback most of the commands in Visual Studio – including text editing operations. Some common examples include: adding a header to all your files; formatting rows of data; and creating shortcuts for frequently used commands. Check out the examples available in the Samples folder in the Macros Explorer – or experiment with it yourself!
... [Read the whole post]
An extension for Visual Studio 2013+ that enables the use of macros in the IDE. The extension can record most of the features in Visual Studio including text editing operations.
- Record and playback active document operations and Visual Studio IDE commands
- Playback multiple times
- Manage and persist macros with a Macro Explorer
- Assign keyboard bindings to any macro
- Macro editing in Visual Studio with DTE IntelliSense
- Stop playback
- Sample macros
Suppose you wanted to convert the private variables in the following class to public fields.
After installing the extension, the Macro menu will appear under
Tools > Macros. Under this menu, you'll find commands to record and playback a macro.
The Current macro is a temporary macro that holds the last recorded macro. To persist it, use the Macro Explorer toolbar command
Save Current Macro(or right-click the Current macro). Name the new macro and assign a shortcut if you wish. The new macro will then be persisted on your file system.
Assigning a shortcut
- Decrease Font Size
- Increase Font Size
- Maximize Tool Windows
- Close Except Active: close all files in Visual Studio except active file
- Headify All: insert header into each C# file in the solution
- Remove and Sort All: remove unused usings and then sort, for each C# file in the solution
- Beginning of Function: moves cursor to the beginning of the current function
- Insert Date & Time
- Insert Date
- Insert Header: insert header into current C# file
- Insert Time
- Pane Center Screen
- Pane Top Screen
- Save Backup: saves active document as .bak file in current directory
Snippets (inserts code snippet)
- For Each Document: to iterate through each open document in Visual Studio
- For Each Window: to iterate through each open window in Visual Studio
Properties: grab one of the properties in Tools >> Options
For example, to show/hide status bar:
var property = dte.Properties("Environment", "General")
property.Item("ShowStatusBar").Value = true
Undo Context: encapsulate a single undo in macro script
- Find Line: queries find tool for current line
- Toggle Line Numbers
- Toggle Word Wrap
The following are not supported by the extension right now:
- Recording interaction with dialogs
- Recording of 'async' commands like Build may not execute as expected
- Execute a macro inside another macro
Once cloned, the project compiles and runs just fine...