24

Visual Studio 2012のテキストエディターにGUIDを生成して挿入するプロセスを自動化するためのコードスニペットなどを作成することは可能ですか?新しいGUID(たとえば、WiXインストーラーや独自の内部フレームワーク)を頻繁に生成する必要があります。

以前は、マクロを使用してこのジョブを実行し、新しいGUIDを作成して、それを現在のActiveDocumentに挿入していました。マクロをShift-CtrlGにバインドして、Create Guidツールを起動し、そこからコピーしなくても、新しいIDをすばやく挿入できるようにします。

Visual Studio 2012からマクロ機能が削除されたため、別の方法が必要です。拡張機能を使用して実行できると思いますが、拡張機能の開発に慣れていないため、そのアプローチは少し手間がかかるように思われます。

テキストウィンドウと対話してテキストを挿入するために必要な拡張機能の種類に関する情報へのポインタがない場合は、提案をいただければ幸いです。次に、拡張機能を作成して、VisualStudioGalleryに投稿できます。

ありがとう、アンソニー

編集して追加-提案されたソリューションはすべて、キーボードショートカットから「トリガー可能」である必要があります。上で述べたように、コードを書いているときに覚えて押すのが簡単だったので、マクロをCtrlShiftGに結び付けました。

4

4 に答える 4

52

ReSharperを使用すると、「nguid」と入力してTabキーを押すことにより、新しいGUIDを挿入できます。

明らかに、これはGuidを生成する機能のためだけに少し高価ですが、ReSharperには検討する価値のある他の多くの便利な機能があります。

于 2012-09-10T13:28:42.697 に答える
39

これを実現するために、VisualStudio2012拡張機能を作成できます。
これまでにアドインを作成したことがない場合、これは簡単に開始できます。

このタイプのアドインを作成する手順は次のとおりです。

  1. VisualStudio2012で新しいプロジェクトを作成する
  2. [テンプレート] ->[その他のプロジェクトの種類] ->[拡張性] ->[VisualStudioアドイン]を選択します
  3. プロジェクトに名前を付け、[OK]をクリックします。
  4. アドインウィザードの手順に従います。プロンプトが表示されたら、[はい、[ツール]メニュー項目を作成します]のチェックボックスをオンにします。オプションで、「私のアドインはモーダルUIを表示しません...」もチェックします。
  5. ウィザードを終了し、 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. プロジェクトをビルドし、AddInName.dllAddInName.AddIn、およびAddInName.xmlc:\ users \ username \ document \ Visual Studio 2012\Addinsに展開します。[アドインフォルダが存在しない場合は作成してください]

  7. Visual Studio 2012の[ツール] ->[アドインマネージャー]で、左側の[AddInName]の横にあるチェックボックスをオンにします。
  8. VisualStudio2012を再起動します
  9. これで、[ツール]の下にAddInNameが表示されます。[おそらくスマイリーの顔で!]
  10. これをクリックすると、カーソルの位置に新しいGUIDが挿入されます。
  11. [ツール] ->[オプション] ->[環境] ->[キーボード]に移動してこれをホットキーにマップし、AddInNameを検索して、ホットキーをそれにバインドします。

出来上がり!ホットキーGUIDの生成とVisualStudioアドインの少しのノウハウ。:)

于 2012-09-21T19:18:19.130 に答える
0

私のSCLAssist拡張機能にはこの機能があります。「GUIDの貼り付け」をキーマッピングにバインドできます。SCLAssistは無料です。

于 2014-03-18T22:09:30.803 に答える
0

彼らがそれを取り戻したようです-VS2015(私はコミュニティバージョンを使用しています)には、 [ツール] >[ GUIDの作成]オプションがあります。

于 2016-06-23T11:20:24.597 に答える