21

Visual Studio 2013 で GUID を作成する方法は? VS2012 ではうまく機能するアドインがありましたが、VS2013 では機能しません。このCreate GUID in VS2012と、このHow to convert VS2012 add ins to VS2013 Packages を見つけましたが、機能させることができませんでした (アドインは私の得意分野ではありません - SQL スクリプトを編集するだけです)。この機能を元に戻す簡単な方法はありますか?

4

6 に答える 6

49

ReSharperを使用している場合(強くお勧めします)、入力nguidして を押すと、どこにでも新しい GUID を作成できますTab

于 2013-10-09T21:35:53.887 に答える
19

実際、uou は、VS と共にインストールされる guidgen.exe を使用するだけで済みます。

メニュー 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 の場合と同じように表示されます。

于 2014-04-16T03:12:25.373 に答える
3

これもどうしようかなと悩みました。次の例を見ました: Inserting a Guid for VS 2012。VS2013 の場合、SDKをインストールする必要があります。これが完了すると、新しいプロジェクトを追加するときに、パッケージとアドインのテンプレート プロジェクト アイテムが表示されます。

アドインは VS2013 で廃止されたというドキュメントがありますが、動作しているように見えます (私は VS2013 Ulitmate v 12.0.21005.1 REL を使用しています)。前の記事の手順に従うことができます。

また、比較的簡単なパッケージも作成しました。How to: Convert an Addin to a VS Packageを使用して、パッケージを作成することができました。

記事のように、次の using ステートメントを追加しました。

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 で使用するパッケージがインストールされました。

GUID をコードに挿入するメニュー項目ができ、通常の方法でショートカット キー ストロークを作成できるようになりました。

于 2013-10-24T10:13:53.660 に答える
2

VS Package Manage Console から PowerShell を使用するだけです。

  1. パッケージ マネージャー コンソールに切り替えます (または、PowerShell cmd を開くことができます)。
  2. 実行し[guid]::NewGuid()ます。

結果:

Guid                                
----                                
61dabfd8-9151-46f5-8d92-72306044d844
于 2016-10-07T08:50:05.133 に答える
0

私はこのソリューションを使用することを好みます:

_TUCHAR *guidStr = 0x00;

GUID *pguid = 0x00;

pguid = 新しい GUID;

CoCreateGuid(pguid);

// GUID を文字列に変換します UuidToString(pguid, &guidStr);

pguid を削除します。

于 2016-01-12T10:09:10.023 に答える