前言:

很久前,我发过两篇文章,分别介绍自定义代码版和可视化调试:

1:Visual Studio 小技巧:自定义代码片断

2:自定义可视化调试工具(Microsoft.VisualStudio.DebuggerVisualizers)

具体可以用两张图来表示:

1:自定义代码片断:

2:可视化调试工具:

问题来源:

某次,我发现自己的可视化调试的类库有点旧,想更新一下,却发现:

电脑上安装了VS2005、VS2008、Vs2012几个版本的VS,要到处打开路径,复制,粘贴,很烦。

复制完还得测试,修改代码,重新编绎,又要重复上面的事情,更烦。

一想到自己更新得这么烦,还是花点时间写个程序简化这些操作吧!

解决思路:

写个程序,双击一下,自动处理,简化操作。

程序代码:

一开始还打算扫注册表去寻找路径,后来发现大伙安装VS还是中规中举的,所以用了更简单的方法:

     static void Main(string[] args)
{
try
{
string runPath = AppDomain.CurrentDomain.BaseDirectory;
List<string> cd = new List<string>();
cd.Add("C:\\Program Files");
cd.Add("D:\\Program Files");
cd.Add("E:\\Program Files");
cd.Add("F:\\Program Files");
cd.Add("G:\\Program Files");
cd.Add("H:\\Program Files"); cd.Add("C:\\Program Files (x86)");
cd.Add("D:\\Program Files (x86)");
cd.Add("E:\\Program Files (x86)");
cd.Add("F:\\Program Files (x86)");
cd.Add("G:\\Program Files (x86)");
cd.Add("H:\\Program Files (x86)");
Dictionary<string, string> dic = new Dictionary<string, string>();
dic.Add("", "\\Microsoft Visual Studio 8");
dic.Add("", "\\Microsoft Visual Studio 9");
dic.Add("", "\\Microsoft Visual Studio 10.0");
dic.Add("", "\\Microsoft Visual Studio 11.0");
dic.Add("", "\\Microsoft Visual Studio 12.0");
dic.Add("", "\\Microsoft Visual Studio 14");
//读取VS安装路径
string vPath = "\\Common7\\Packages\\Debugger\\Visualizers";
string mPath = "\\VC#\\Snippets\\2052\\Visual C#";
foreach (string item in cd)
{
foreach (KeyValuePair<string, string> kv in dic)
{
string vFolder = item + kv.Value + vPath;
if (Directory.Exists(vFolder))
{
string dll = runPath + kv.Key + "\\CYQ.Visualizer.dll";
if (File.Exists(dll))
{
File.Copy(dll, vFolder + "\\CYQ.Visualizer.dll", true);
Console.WriteLine("To:" + vFolder + "\\CYQ.Visualizer.dll");
}
}
string mFoler = item + kv.Value + mPath;
if (Directory.Exists(mFoler) && Directory.Exists(runPath + "\\snippet"))
{
string[] files = Directory.GetFiles(runPath + "\\snippet", "*.snippet");
foreach (string file in files)
{
File.Copy(file, mFoler + "\\" + Path.GetFileName(file), true);
Console.WriteLine("To:" + mFoler + "\\" + Path.GetFileName(file));
}
}
}
}
Console.WriteLine("Completed!");
}
catch (Exception err)
{
Console.WriteLine(err.Message);
}
Console.Read();
}

源码下载:

SVN地址获取:http://code.taobao.org/svn/cyqopen/trunk/CYQ.Visualizer/

对于可视化,帮你们准备好了各个版本的:Microsoft.VisualStudio.DebuggerVisualizers.dll

拿去,不用谢:

效果展示:

运行后:

接着在VS里就可以愉快的看到效果了:

1:自定义代码断:

2:可视化

总结:

终于你就可以在各个VS环境里享瘦:一次编写,到处运行的体验了!

开源发布:VS代码段快捷方式及可视化调试快速部署工具的更多相关文章

  1. nodejs 使用Google浏览器进行可视化调试——Node Inspector工具

    1.npm安装Node Inspector工具,全局安装 命令行执行npm install -g node-inspector 2.启动Node Inspector工具,命令行执行 node-insp ...

  2. WPF自定义RoutedEvent事件代码段

    今天在写东西的时候,发现常用的代码段里没有RoutedEvent的,因此,写了一个代码段,方便以后使用,顺便记录一下,如何做代码段. 1.在项目中新建一个XML文件,将扩展名修改为snippet. 2 ...

  3. VsCode代码段添加方法

    VsCode代码段添加方法 我们在编写代码的过程中,常常会遇到一些固定的结构或常用的处理方法. 编写耗费时间尽力,这时我们想到了添加代码段功能,帮助我们快速的完成编写. 下面以VsCode为例子: 我 ...

  4. 【重新发布,代码开源】FPGA设计千兆以太网MAC(1)——通过MDIO接口配置与检测PHY芯片

    原创博客,转载请注明出处:[重新发布,代码开源]FPGA设计千兆以太网MAC(1)——通过MDIO接口配置与检测PHY芯片 - 没落骑士 - 博客园 https://www.cnblogs.com/m ...

  5. 子沐代码段——Flask+Mysql+Echarts可视化

    前言 子沐不久前,使用Scrapy爬取了智联招聘的职位数据,并部署到服务器上,设置了定时任务.数据量日益庞大.子沐在想,数据不过只是存在数据库里,并没有什么意义,所以子沐萌发一个想法,那就是做一个可视 ...

  6. Script.NET Perl解释器代码已经在GitHub开源发布

    Script.NET Perl解释器的代码已经提交到GitHub网站.GitHub项目地址: https://github.com/blueantst/Script.NET Perl解释器代码在Src ...

  7. 微软良心之作——Visual Studio Code 开源免费跨平台代码编辑器

    微软良心之作——Visual Studio Code 开源免费跨平台代码编辑器 在 Build 2015 大会上,微软除了发布了 Microsoft Edge 浏览器和新的 Windows 10 预览 ...

  8. 千金良方说:"我现在奉上179341字的MySQL资料包,还来得及吗?有"代码段、附录、和高清图!!"

    上一篇"上发布过"一不小心,我就上传了 279674 字的 MySQL 学习资料到 github 上了",我在更早之前,在微信公众号"老叶茶馆"上发布 ...

  9. Visual C# 代码段

    代码段是现成的代码段,您可以快速将其插入到您的代码中. 例如,for 代码段创建一个空的 for 循环. 有些代码段为外侧代码段,这些代码段允许您先选择代码行,然后选择要并入选定代码行的代码段. 例如 ...

随机推荐

  1. 浅谈 Fragment 生命周期

    版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Fragment 文中如有纰漏,欢迎大家留言指出. Fragment 是在 Android 3.0 中 ...

  2. .NET Core 系列5 :使用 Nuget打包类库

    NuGet是个开源项目,项目包括 NuGet VS插件/NuGet Explorer/NuGetServer/NuGet命令行等项目,.NET Core项目完全使用Nuget 管理组件之间的依赖关系, ...

  3. SQL Server-聚焦计算列或计算列持久化查询性能(二十二)

    前言 上一节我们详细讲解了计算列以及计算列持久化的问题,本节我们依然如前面讲解来看看二者查询性能问题,简短的内容,深入的理解,Always to review the basics. 持久化计算列比非 ...

  4. TortoiseGit 文件比对工具使用 Beyond Compare 和 DiffMerge

    TortoiseGit 内置的文件比对工具是 TortoiseMerge,用于文件比对和解决冲突合并,TortoiseGit 还支持外部的比对工具使用,比如 Beyond Compare 和 Diff ...

  5. Android使用静默安装时碰见的问题

    升级时碰见的异常 private void installPackage(String appName,final File apk) { if (!apk.exists()) { setHasNew ...

  6. 读过MBA的CEO更自私?《哈佛商业评论》2016年第12期。4星

    老牌管理杂志.每期都值得精度.本期我还是给4星. 以下是本书中的一些内容的摘抄: 1:他们发现在Airbnb上,如果客人姓名听起来像黑人,那么比名字像白人的客人的接受率会低16%.#45 2:对立组织 ...

  7. Matrix4x4矩阵变换、欧拉角转四元数、角度转弧度

    Matrix4x4 // 重置矩阵 ][]) { m[][] = ; m[][] = ; m[][] = ; m[][] = ; m[][] = ; m[][] = ; m[][] = ; m[][] ...

  8. Mono 3.2.3 TCP吞吐性能测试报告

    在前几天简单地测试了一下Mono 3.2.3 TCP处理的稳定性,有同学问Mono 3.2.3的TCP处理性有怎样,以下是针对Mono 3.2.3TCP在吞吐方面的性能测试.主要测试分两种场分别是连接 ...

  9. Linux.NET实战手记—自己动手改泥鳅(下)

    在上回合中,我们不痛不痒的把小泥鳅的数据库从只能供在Windows下运行的Access数据库改为支持跨平台的MYSQL数据库,毫无营养的修改,本回合中,我们将把我们修改后得来的项目往Linux中部署. ...

  10. 快速构建App界面的框架(●'◡'●) -----SalutJs

    前言 卤煮在公司之初接触到的是一个微信APP应用.前端技术采用的是Backbone+zepto等小型JS类库.在项目开发之初,这类中小型的项目采用这两种库可以满足基本的需求.然而,随着迭代的更新和业务 ...