Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Insert a new GUID to Visual Studio 2012

Tags:

Is it possible to create a code snippet or something similar to automate the process of generating and inserting GUIDs in to the text editor in Visual Studio 2012? I frequently need to generate new GUIDs (WiX installer for example, as well as our own internal framework).

I used to use a macro to perform this job, creating a new GUID and then inserting it in to the current ActiveDocument. I would the bind the macro to Shift-Ctrl G so I could rapidly insert a new ID without having to launch the Create Guid tool and copy from there.

Macro functionality has now been removed from Visual Studio 2012 so I need an alternative method, I would assume that it is possible to do with an Extension but I am unfamiliar with developing extensions and that approach would seem a little heavy handed!

Any suggestions would be appreciated, failing that then a pointer at any information on what sort of extension would be required to interact with the text window and insert text would be appreciated. I could then make an extension and post it on the Visual Studio Gallery.

Thanks, Anthony

Edit to add - whatever solution is proposed would need to be "triggerable" from a keyboard shortcut. As I stated above, I tied the macro to Ctrl Shift G because it was easy to remember and press while writing code.

like image 594
Anthony Avatar asked Sep 10 '12 10:09

Anthony


People also ask

How to create GUID in Visual Studio?

Insert a new GUID by invoking the command under the Edit top-level menu or hit CTRL+K,Space . If Visual Studio is unable to insert the GUID, it will be copied to the clipboard so you can easily paste it in manually. When a GUID is copied to the clipboard, a notification will be displayed in the status bar.

What is GUID generator?

A GUID (globally unique identifier) is a 128-bit text string that represents an identification (ID). Organizations generate GUIDs when a unique reference number is needed to identify information on a computer or network. A GUID can be used to ID hardware, software, accounts, documents and other items.

What is a GUID C#?

C# Guid. A GUID (Global Unique IDentifier) is a 128-bit integer used as a unique identifier.


2 Answers

ReSharper allows you to insert a new guid by typing "nguid" and pressing tab.

Obviously this is a tad on the expensive side just for the ability to generate a Guid however ReSharper has many other useful features that might be worth considering.

like image 172
Justin Avatar answered Oct 26 '22 16:10

Justin


You could write a Visual Studio 2012 extension to accomplish this!
If you've never written an Add-in before, this is a simple one to get you started!

Here are the steps to create this type of add-in:

  1. Create a New Project in Visual Studio 2012
  2. Choose Templates -> Other Project Types -> Extensibility -> Visual Studio Add-in
  3. Name your project, click OK.
  4. Follow the Add-in wizard steps. When prompted, check the box for: "Yes, create a 'Tools' menu item." Optionally, I also check "My Add-in will never put up modal UI..."
  5. Finish the wizard and implement the follow code in Exec(...)

    public void Exec(string commandName, vsCommandExecOption executeOption, ref object varIn, ref object varOut, ref bool handled) {     handled = false;     if(executeOption == vsCommandExecOption.vsCommandExecOptionDoDefault)     {         if (commandName == this.GetType().Namespace + ".Connect." + this.GetType().Namespace)         {             if (_applicationObject.ActiveDocument != null)             {                 TextSelection objSel = (EnvDTE.TextSelection)(_applicationObject.ActiveDocument.Selection);                  objSel.Insert(Guid.NewGuid().ToString());             }              handled = true;             return;         }     } } 
  6. Build the project, and deploy AddInName.dll, AddInName.AddIn, and AddInName.xml to c:\users\username\documents\Visual Studio 2012\Addins. [If the Addins folder doesn't exist, create it]

  7. In Visual Studio 2012, under Tools -> Addin Manager, Check the box on the left next to AddInName.
  8. Restart Visual Studio 2012
  9. You should now see the AddInName listed under Tools. [probably with a Smiley face!]
  10. When you click on this, it should insert a new GUID at your cursor's location.
  11. Map this to a hotkey by navigating to Tools -> Options -> Environment -> Keyboard, search for AddInName, and bind a hotkey to it.

Voila! Hotkey GUID generation and a little bit of Visual Studio Add-in know how. :)

like image 44
Joshua Starner Avatar answered Oct 26 '22 15:10

Joshua Starner