2013-10-09 5 views
19

Как создать GUID в Visual Studio 2013? У меня было добавление, хорошо работающее в VS2012, но оно не работает в VS2013. Я нашел это Create GUID in VS2012 и этот How to convert VS2012 add ins to VS2013 Packages, но не смог заставить его работать (добавление не является моей сильной стороной - я просто редактирую SQL-скрипты). Есть ли простой способ вернуть эту функциональность?Вставить новый GUID в Visual Studio 2013

ответ

46

Если вы используете ReSharper (настоятельно рекомендуется), вы можете создавать новые GUIDs везде, набрав nguid и нажав Tab.

+0

Спасибо, я знал, что. Но это не то, что я ищу. Я хочу пакет VS 2013 (BTW, которые раньше назывались «add ins» в предыдущей версии VS), но на странице MSDN VS2013 RC говорится [здесь] (http://msdn.microsoft.com/en-us/library /vstudio/dn246938(v=vs.120).aspx) add ins являются «устаревшими»). –

+1

Ты потрясающий. Я никогда не знал, что ты сможешь это сделать. –

3

Мне также было интересно, как я должен это делать. Я увидел следующий пример: Inserting a Guid for VS 2012. Для VS2013 вам необходимо установить SDK. После того, как вы это сделаете, вы увидите элементы проекта шаблона для пакетов, а также для добавления, когда вы переходите к добавлению нового проекта.

Несмотря на документацию о том, что аддоны были устаревшими в VS2013, они действительно работают (я использую VS2013 Ulitmate v 12.0.21005.1 REL). Вы можете следовать инструкциям в предыдущей статье.

Я также создал пакет, который был относительно прямым. Использование Как: Convert an Addin to a VS Package Мне удалось создать пакет.

Как и в статье я добавил следующие используя оператор:

using EnvDTE; 
using EnvDTE80; 

Затем я изменил метод MenuItemCallback к следующему:

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()); 
      } 
     } 

После создания проекта я пошел в Bin \ Debug и запустил файл vsix (GuidPackage.vsix в моем случае). Это установило пакет для использования в среде IDE.

У меня теперь есть пункт меню, чтобы вставлять направляющие в мой код и я могу создать для него комбинацию клавиш быстрого доступа обычным способом.

19

На самом деле, вы можете просто использовать guidgen.exe, который должен быть установлен с VS.

Использование меню Инструменты -> External Tools ... добавить:

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

например

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

Дайте название «Создать GUID», и он там, как и в VS2010.

0

Я предпочитаю использовать это решение:

_TUCHAR * guidStr = 0x00;

GUID * pguid = 0x00;

pguid = новый GUID;

CoCreateGuid (pguid);

// Преобразование GUID в строку UuidToString (pguid, & guidStr);

удалить pguid;

1

Просто используйте PowerShell из VS пакет Управление консоли:

  1. Переключитесь в Package Manager Console (или вы можете открыть ЦМД PowerShell).
  2. Выполнение [guid]::NewGuid().

Результат:

Guid         
----         
61dabfd8-9151-46f5-8d92-72306044d844 
Смежные вопросы