webdevqa.jp.net

新しいGUIDをVisualStudio2012に挿入します

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

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

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

テキストウィンドウと対話してテキストを挿入するために必要な拡張機能の種類に関する情報へのポインタがあれば、どんな提案でもありがたいです。次に、拡張機能を作成してVisual StudioGalleryに投稿できます。

ありがとう、アンソニー

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

24
Anthony

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

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

  1. Visual Studio 2012で新しいプロジェクトを作成します
  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.xml toc:\をデプロイします。 users\username\documents\Visual Studio 2012\Addins。 [アドインフォルダが存在しない場合は作成してください]

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

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

39
Joshua Starner

ReSharper 「nguid」と入力してTabキーを押すと、新しいGUIDを挿入できます。

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

52
Justin

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

0
Mick

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

0
Stewart Lynch