是否可以创建代码片段或类似的东西来自动生成和插入到Visual Studio 2012中的文本编辑器中的GUID的过程? 我经常需要生成新的GUID(例如,WiX安装程序,以及我们自己的内部框架)。
我曾经使用宏来执行这项工作,创建一个新的GUID,然后将其插入到当前的ActiveDocument中。我会将宏绑定到Shift-Ctrl G,这样我就可以快速插入新的ID,而无需启动Create Guid工具并从那里复制。
现在已经从Visual Studio 2012中删除了宏功能,因此我需要一种替代方法,我认为可以使用扩展,但我不熟悉开发扩展,这种方法看起来有点沉重! / p>
任何建议都会受到赞赏,如果没有那么指示任何关于需要什么样的扩展来与文本窗口交互并插入文本的信息都将受到赞赏。然后,我可以进行扩展并将其发布到Visual Studio库中。
谢谢, 安东尼
编辑添加 - 提出的任何解决方案都需要从键盘快捷键“触发”。如上所述,我将宏绑定到Ctrl Shift G,因为它很容易记住并在编写代码时按下。
答案 0 :(得分:52)
ReSharper允许您通过键入“nguid”并按Tab键来插入新的guid。
显然,对于生成Guid的能力而言,这只是昂贵的一面,但ReSharper还有许多其他有用的功能值得考虑。
答案 1 :(得分:39)
您可以编写Visual Studio 2012扩展来完成此任务!
如果您以前从未编写过加载项,那么这是一个简单的开始!
以下是创建此类加载项的步骤:
完成向导并在执行(...)
中实施以下代码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 部署到 c :\ users \ username \ documents \ Visual Studio 2012 \ Addins 。 [如果Addins文件夹不存在,请创建它]
瞧!热键GUID生成和一点Visual Studio加载项知道如何。 :)
答案 2 :(得分:0)
我的SCLAssist扩展程序具有此功能。您可以绑定"粘贴GUID"到键映射。 SCLAssist是免费的。
答案 3 :(得分:0)
看起来他们把它带回来了 - 在VS 2015(我正在使用社区版)中有一个工具> 创建GUID 选项。