web-dev-qa-db-ja.com

Visual Studio 2013に新しいGUIDを挿入します

Visual Studio 2013でGUIDを作成する方法は? VS2012でうまく機能するアドインがありましたが、VS2013では機能しません。私はこれを見つけました Create GUID そしてこれ VS2012アドインをVS2013パッケージに変換する方法 が機能しません(アドインを追加できません)私の強みではありません-SQLスクリプトを編集するだけです。この機能を元に戻す簡単な方法はありますか?

21
Frank Monroe

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

49
Igal Tabachnik

実際、uouはVSでインストールされるはずのguidgen.exeを使用できます。

メニューツールを使用->外部ツール...追加:

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

例えば.

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

「Create GUID」というタイトルを付けると、VS2010と同じように表示されます。

19
Darren

これに最適なツール/アドインは次のとおりです: http://visualstudiogallery.msdn.Microsoft.com/22795583-5cc9-4681-af8e-6084f3441655

5
Frank Monroe

私はこれをどのようにすべきかについても考えていました。次の例を見ました: VS 2012のGuidの挿入 。 VS2013の場合、 [〜#〜] sdk [〜#〜] をインストールする必要があります。これを完了すると、新しいプロジェクトを追加するときに、パッケージおよびアドインのテンプレートプロジェクト項目が表示されます。

VS2013ではアドインが廃止予定であると記載されているドキュメントにもかかわらず、アドインは機能するようです(私はVS2013 Ulitmate v 12.0.21005.1 RELを使用しています)。前の記事の指示に従ってください。

また、比較的単純なパッケージも作成しました。使用方法: アドインをVSパッケージに変換する パッケージを作成できました。

記事のように、次の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を挿入するメニュー項目ができたので、通常の方法でショートカットキーを作成できます。

3
zeiddev

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

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

結果:

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

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

_TUCHAR * guidStr = 0x00;

GUID * pguid = 0x00;

pguid =新しいGUID;

CoCreateGuid(pguid);

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

pguidを削除します。

0
Erfankam