web-dev-qa-db-fra.com

Insérer un nouveau GUID à Visual Studio 2013

Comment créer des GUID dans Visual Studio 2013? J'ai eu un ajout qui a bien fonctionné dans VS2012 mais ne fonctionne pas dans VS2013. J'ai trouvé ceci Créer GUID dans VS2012 et ceci Comment convertir des add-in VS2012 en packages VS2013 mais ne pouvais pas le faire fonctionner (les add ins ne sont pas mon fort - je modifie simplement le code SQL scripts). Existe-t-il un moyen simple de récupérer cette fonctionnalité?

19
Frank Monroe

Si vous utilisez ReSharper (hautement recommandé), vous pouvez créer de nouveaux GUID partout en tapant nguid et en appuyant sur Tab.

48
Igal Tabachnik

En fait, vous pouvez simplement utiliser guidgen.exe qui devrait être installé avec VS.

En utilisant le menu OUTILS -> Outils externes ... ajoutez:

%Installation Path%\Microsoft Visual Studio 12.0\Common7\Tools\guidgen.exe

par exemple.

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\guidgen.exe

Donnez le titre de ‘Create GUID’ et c’est là, exactement comme dans VS2010.

19
Darren
5
Frank Monroe

Je me demandais aussi comment faire cela. J'ai vu l'exemple suivant: Insertion d'un Guid pour VS 2012 . Pour VS2013, vous devez installer le SDK . Une fois que vous avez fait cela, vous verrez les éléments de projet de modèle pour les packages et également pour les compléments lorsque vous allez ajouter un nouveau projet.

Malgré la documentation indiquant que les addins étaient obsolètes dans VS2013, ils semblent fonctionner (j'utilise VS2013 Ulitmate v 12.0.21005.1 REL). Vous pouvez suivre les instructions de l'article précédent.

J'ai également créé un package relativement simple. Utiliser Comment: Convertir un complément en un package VS J'ai pu créer le package. 

Comme dans l'article, j'ai ajouté les instructions using suivantes:

using EnvDTE;
using EnvDTE80;

J'ai ensuite changé la méthode MenuItemCallback comme suit:

private void MenuItemCallback(object sender, EventArgs e)
        {
            DTE2 dte = (DTE2)GetService(typeof(DTE));

            if (dte.ActiveDocument != null)
            {
                TextSelection objSel = (EnvDTE.TextSelection)(dte.ActiveDocument.Selection);

                objSel.Insert(Guid.NewGuid().ToString());
            }
        }

Après avoir construit le projet, je suis allé dans le dossier bin\Debug et j'ai démarré le fichier vsix (GuidPackage.vsix dans mon cas). Cela a installé le paquet pour une utilisation dans l'EDI.

J'ai maintenant un élément de menu pour insérer des guides dans mon code et je peux créer un trait de raccourci clavier pour celui-ci de la manière habituelle.

3
zeiddev

Utilisez simplement PowerShell à partir de VS Package Manage Console:

  1. Basculez vers la console du gestionnaire de packages (ou vous pouvez ouvrir PowerShell cmd).
  2. Exécutez [guid]::NewGuid().

Résultat:

Guid                                
----                                
61dabfd8-9151-46f5-8d92-72306044d844
2
Andrey Burykin

Je préfère utiliser cette solution:

_TUCHAR * guidStr = 0x00;

GUID * pguid = 0x00;

pguid = new GUID; 

CoCreateGuid (pguid); 

// Convertit le GUID en une chaîne UuidToString (pguid, & guidStr);

supprimer pguid;

0
Erfankam