Visual Studio 2012のテキストエディターにGUIDを生成して挿入するプロセスを自動化するためのコードスニペットなどを作成することは可能ですか?新しいGUID(WiXインストーラーや独自の内部フレームワークなど)を頻繁に生成する必要があります。
以前はマクロを使用してこのジョブを実行し、新しいGUIDを作成してから、現在のActiveDocumentに挿入しました。マクロをShift-Ctrl Gにバインドして、すばやく挿入できるようにしました。 Create Guidツールを起動してそこからコピーすることなく、新しいIDを作成できます。
マクロ機能がVisualStudio 2012から削除されたため、別の方法が必要です。拡張機能を使用して実行できると思いますが、拡張機能の開発に慣れていないため、そのアプローチは少し手間がかかるように思われます。
テキストウィンドウと対話してテキストを挿入するために必要な拡張機能の種類に関する情報へのポインタがあれば、どんな提案でもありがたいです。次に、拡張機能を作成してVisual StudioGalleryに投稿できます。
ありがとう、アンソニー
編集して追加-提案されたソリューションはすべて、キーボードショートカットから「トリガー可能」である必要があります。上で述べたように、コードを書いているときに覚えて押すのが簡単だったので、マクロをCtrl ShiftGに関連付けました。
これを実現するために、Visual Studio2012拡張機能を作成できます。
これまでにアドインを作成したことがない場合、これは簡単に始めることができます。
このタイプのアドインを作成する手順は次のとおりです。
ウィザードを終了し、次のコードを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;
}
}
}
プロジェクトをビルドし、AddInName.dll、AddInName.AddIn、およびAddInName.xml toc:\をデプロイします。 users\username\documents\Visual Studio 2012\Addins。 [アドインフォルダが存在しない場合は作成してください]
出来上がり!ホットキーGUID生成とVisualStudioアドインの少しのノウハウ。:)
ReSharper 「nguid」と入力してTabキーを押すと、新しいGUIDを挿入できます。
明らかに、これはGuidを生成する機能のためだけに少し高価ですが、ReSharperには検討する価値のある他の多くの便利な機能があります。
彼らがそれを取り戻したようです-VS2015(私はコミュニティバージョンを使用しています)にはツール> GUIDの作成オプションがあります。
私の SCLAssist 拡張機能にはこの機能があります。 「GUIDの貼り付け」をキーマッピングにバインドできます。 SCLAssistは無料です。