One of the common tasks involved when creating sharepoint solutions is the generation of GUIDs. Visual Studio comes with a tool called GuidGen that lets you create GUIDs however it is annoying having to leave the Visual Studio environment.
I believe Visual Studio 2005 used to have it as an option under the Tools menu however i haven’t found where i can add the same shortcut in Visual Studio Team System 2008 (though i do notice that Visual Studio 2008 Professional DOES have a “Create GUID” shortcut under Tools – i’d still prefer the macro shortcut for ease of use especially when creating a lot of features).
I have however found a nifty alternate solution by Leon Zandman that describes creating a Macro to insert a guid into your current file. I’d just like to clarify some of the steps for those that haven’t dealt with Macros in Visual Studio 2008 before.
- Load Visual Studio 2008 and goto Tools -> Macros -> Macro Explorer (Alt-F8 for short)
- Right-click on “Macros” then select New Macro Project
- Name your project (eg. GUIDGenerator) and choose a location to save it (note no space allowed in Project Name).
- This should give you a new project with a “Module1” sitting underneath it. Right-click on “Module1” and select “Rename” to give it a more meaningful name (eg. GUIDGenModule).
- Double-click on the newly renamed module and you should be shown the Visual Studio Macro IDE.
- Enter the following code (the “D” in ToString can be customised see Leon’s article):
-
Sub Create_GUID() DTE.ActiveDocument.Selection.Text = System.Guid.NewGuid().ToString("D").ToUpper() End Sub
-
- Save and close the Macro IDE.
- Back in the main Visual Studio window goto Tools -> Options
- Goto the “Keyboard” option under the “Environment” tab.
- In the “Show Commands Containing” text box type in “Create_GUID”
- Select the Macro sub that you just created from the list (it should be the only one)
- Click inside the “Press Shortcut Keys” textbox then press your desired keyboard shortcut for inserting a GUID (eg. Alt+G as Leon suggested makes a lot of sense).
- Ensure the “Use Shortcut in” option is “Global” and click on “Assign”
- Close the options window and you should be able to start using your keyboard shortcut to quickly insert GUIDs into text!
- If you have any other Visual Studio windows open at the time you will need to close them and reload for the macro for the macro to be loaded (or you can goto the Macro Explorer window and manually load your Macro project)