开源发布:VS代码段快捷方式及可视化调试快速部署工具
前言:
很久前,我发过两篇文章,分别介绍自定义代码版和可视化调试:
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代码段快捷方式及可视化调试快速部署工具的更多相关文章
- nodejs 使用Google浏览器进行可视化调试——Node Inspector工具
1.npm安装Node Inspector工具,全局安装 命令行执行npm install -g node-inspector 2.启动Node Inspector工具,命令行执行 node-insp ...
- WPF自定义RoutedEvent事件代码段
今天在写东西的时候,发现常用的代码段里没有RoutedEvent的,因此,写了一个代码段,方便以后使用,顺便记录一下,如何做代码段. 1.在项目中新建一个XML文件,将扩展名修改为snippet. 2 ...
- VsCode代码段添加方法
VsCode代码段添加方法 我们在编写代码的过程中,常常会遇到一些固定的结构或常用的处理方法. 编写耗费时间尽力,这时我们想到了添加代码段功能,帮助我们快速的完成编写. 下面以VsCode为例子: 我 ...
- 【重新发布,代码开源】FPGA设计千兆以太网MAC(1)——通过MDIO接口配置与检测PHY芯片
原创博客,转载请注明出处:[重新发布,代码开源]FPGA设计千兆以太网MAC(1)——通过MDIO接口配置与检测PHY芯片 - 没落骑士 - 博客园 https://www.cnblogs.com/m ...
- 子沐代码段——Flask+Mysql+Echarts可视化
前言 子沐不久前,使用Scrapy爬取了智联招聘的职位数据,并部署到服务器上,设置了定时任务.数据量日益庞大.子沐在想,数据不过只是存在数据库里,并没有什么意义,所以子沐萌发一个想法,那就是做一个可视 ...
- Script.NET Perl解释器代码已经在GitHub开源发布
Script.NET Perl解释器的代码已经提交到GitHub网站.GitHub项目地址: https://github.com/blueantst/Script.NET Perl解释器代码在Src ...
- 微软良心之作——Visual Studio Code 开源免费跨平台代码编辑器
微软良心之作——Visual Studio Code 开源免费跨平台代码编辑器 在 Build 2015 大会上,微软除了发布了 Microsoft Edge 浏览器和新的 Windows 10 预览 ...
- 千金良方说:"我现在奉上179341字的MySQL资料包,还来得及吗?有"代码段、附录、和高清图!!"
上一篇"上发布过"一不小心,我就上传了 279674 字的 MySQL 学习资料到 github 上了",我在更早之前,在微信公众号"老叶茶馆"上发布 ...
- Visual C# 代码段
代码段是现成的代码段,您可以快速将其插入到您的代码中. 例如,for 代码段创建一个空的 for 循环. 有些代码段为外侧代码段,这些代码段允许您先选择代码行,然后选择要并入选定代码行的代码段. 例如 ...
随机推荐
- 当忘记mysql数据库密码时如何进行修改
因为长时间没有使用数据库了,或者把密码改完之后就忘了数据库密码,不能正常进入数据库,也无法修改密码,有一个简单的常用修改密码方式: 1.首先找到和打开mysql.exe和mysqld.exe所在的文件 ...
- OVS 中的各种网络设备 - 每天5分钟玩转 OpenStack(128)
上一节我们启用了 Open vSwitch,本节将查看当前的网络状态并介绍 Open vSwitch 涉及的各种网络设备 初始网络状态 查看一下当前的网络状态. 控制节点 ifconfig 显示控制节 ...
- jQuery学习之路(6)- 简单的表格应用
▓▓▓▓▓▓ 大致介绍 在CSS技术之前,网页的布局基本都是依靠表格制作,当有了CSS之后,表格就被很多设计师所抛弃,但是表格也有他的用武之地,比如数据列表,下面以表格中常见的几个应用来加深对jQue ...
- Xamarin+Prism开发详解五:页面布局基础知识
说实在的研究Xamarin到现在,自己就没设计出一款好的UI,基本都在研究后台逻辑之类的!作为Xamarin爱好者,一些简单的页面布局知识还是必备的. 布局常见标签: StackLayout Abso ...
- OpenGL超级宝典笔记----框架搭建
自从工作后,总是或多或少的会接触到客户端3d图形渲染,正好自己对于3d图形的渲染也很感兴趣,所以最近打算从学习OpenGL的图形API出发,进而了解3d图形的渲染技术.到网上查了一些资料,OpenGL ...
- PHP中遍历XML之SimpleXML
简单来讲述一些XML吧,XML是可扩展标记语言,是一种用于标记电子文件使其具有结构性的标记语言.XML是当今用于传输数据的两大工具之一,另外一个是json. 我们在PHP中使用XML也是用来传输数据, ...
- Struts2实现ajax的两种方式
基于Struts2框架下实现Ajax有两种方式,第一种是原声的方式,另外一种是struts2自带的一个插件. js部分调用方式是一样的: JS代码: function testAjax() { var ...
- springmvc+bootstrap+jquerymobile完整搭建案例(提供下载地址)
用一张简单的截图说明下,然后提供一个下载地址. bootstrap的大部分样式官方都是写好的,所以只需要class="官方样式即可",具体可以看官方的案例,下面来个地址 http: ...
- Supermap iCloudManager -负载均衡
Supermap icm负载均衡理解: 应用场景:地图出图 子节点1和子节点2中的服务保持一致,一般情况下设置的是匿名用户通过nginx访问服务信息,所以不需要登录. 1.通过nginx分发请求,(轮 ...
- Java实现多线程断点下载(下载过程中可以暂停)
线程可以理解为下载的通道,一个线程就是一个文件的下载通道,多线程也就是同时开启好几个下载通道.当服务器提供下载服务时,使用下载者是共享带宽的,在优先级相同的情况下,总服务器会对总下载线程进行平均分配. ...