May 23, 2016 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.A couple weeks ago the Visual Studio Team released a new VS Macro extension that takes a new look at build VS macros in JavaScript, but also released the entire thing as open source!Macros extension: VS 2015 support and open-sourcedMacros 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]Microsoft/VS-MacrosAn 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.FeaturesRecord and playback active document operations and Visual Studio IDE commandsPlayback multiple timesManage and persist macros with a Macro ExplorerAssign keyboard bindings to any macroMacros recorded as JavaScript files that call VS DTE APIsMacro editing in Visual Studio with DTE IntelliSenseStop playbackSample macrosExampleSuppose you wanted to convert the private variables in the following class to public fields.…Getting StartedAfter installing the extension, the Macro menu will appear under Tools > Macros. Under this menu, you’ll find commands to record and playback a macro.Current macroThe 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…Sample macrosAccessibilityDecrease Font SizeIncrease Font SizeMaximize Tool WindowsDocumentsClose Except Active: close all files in Visual Studio except active fileHeadify All: insert header into each C# file in the solutionRemove and Sort All: remove unused usings and then sort, for each C# file in the solutionEditorBeginning of Function: moves cursor to the beginning of the current functionInsert Date & TimeInsert DateInsert Header: insert header into current C# fileInsert TimePane Center ScreenPane Top ScreenSave Backup: saves active document as .bak file in current directorySnippets (inserts code snippet)For Each Document: to iterate through each open document in Visual StudioFor Each Window: to iterate through each open window in Visual StudioProperties: grab one of the properties in Tools >> OptionsFor 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 scriptUtilitiesFind Line: queries find tool for current lineToggle Line NumbersToggle Word WrapCaveatsThe following are not supported by the extension right now:Recording interaction with dialogsRecording of ‘async’ commands like Build may not execute as expectedExecute a macro inside another macro….Once cloned, the project compiles and runs just fine…Wait, did I say run? But it’s a class library/VS Extension? Check out this answer to How to debug Visual Studio extensions. It’s an old question/answer but still works (at least it did for me).Follow @CH9 Follow @coding4fun Follow @gduncan411 Source link