前言:
很久前,我发过两篇文章,分别介绍自定义代码版和可视化调试:
2:自定义可视化调试工具(Microsoft.VisualStudio.DebuggerVisualizers)
具体可以用两张图来表示:
1:自定义代码片断:
2:可视化调试工具:
问题来源:
某次,我发现自己的可视化调试的类库有点旧,想更新一下,却发现:
电脑上安装了VS2005、VS2008、Vs2012几个版本的VS,要到处打开路径,复制,粘贴,很烦。
复制完还得测试,修改代码,重新编绎,又要重复上面的事情,更烦。
一想到自己更新得这么烦,还是花点时间写个程序简化这些操作吧!
解决思路:
写个程序,双击一下,自动处理,简化操作。
程序代码:
一开始还打算扫注册表去寻找路径,后来发现大伙安装VS还是中规中举的,所以用了更简单的方法:

1 static void Main(string[] args) 2 { 3 try 4 { 5 string runPath = AppDomain.CurrentDomain.BaseDirectory; 6 List<string> cd = new List<string>(); 7 cd.Add("C:\\Program Files"); 8 cd.Add("D:\\Program Files"); 9 cd.Add("E:\\Program Files"); 10 cd.Add("F:\\Program Files"); 11 cd.Add("G:\\Program Files"); 12 cd.Add("H:\\Program Files"); 13 14 cd.Add("C:\\Program Files (x86)"); 15 cd.Add("D:\\Program Files (x86)"); 16 cd.Add("E:\\Program Files (x86)"); 17 cd.Add("F:\\Program Files (x86)"); 18 cd.Add("G:\\Program Files (x86)"); 19 cd.Add("H:\\Program Files (x86)"); 20 Dictionary<string, string> dic = new Dictionary<string, string>(); 21 dic.Add("2005", "\\Microsoft Visual Studio 8"); 22 dic.Add("2008", "\\Microsoft Visual Studio 9"); 23 dic.Add("2010", "\\Microsoft Visual Studio 10.0"); 24 dic.Add("2012", "\\Microsoft Visual Studio 11.0"); 25 dic.Add("2013", "\\Microsoft Visual Studio 12.0"); 26 dic.Add("2015", "\\Microsoft Visual Studio 14"); 27 //读取VS安装路径 28 string vPath = "\\Common7\\Packages\\Debugger\\Visualizers"; 29 string mPath = "\\VC#\\Snippets\\2052\\Visual C#"; 30 foreach (string item in cd) 31 { 32 foreach (KeyValuePair<string, string> kv in dic) 33 { 34 string vFolder = item + kv.Value + vPath; 35 if (Directory.Exists(vFolder)) 36 { 37 string dll = runPath + kv.Key + "\\CYQ.Visualizer.dll"; 38 if (File.Exists(dll)) 39 { 40 File.Copy(dll, vFolder + "\\CYQ.Visualizer.dll", true); 41 Console.WriteLine("To:" + vFolder + "\\CYQ.Visualizer.dll"); 42 } 43 } 44 string mFoler = item + kv.Value + mPath; 45 if (Directory.Exists(mFoler) && Directory.Exists(runPath + "\\snippet")) 46 { 47 string[] files = Directory.GetFiles(runPath + "\\snippet", "*.snippet"); 48 foreach (string file in files) 49 { 50 File.Copy(file, mFoler + "\\" + Path.GetFileName(file), true); 51 Console.WriteLine("To:" + mFoler + "\\" + Path.GetFileName(file)); 52 } 53 } 54 } 55 } 56 Console.WriteLine("Completed!"); 57 } 58 catch (Exception err) 59 { 60 Console.WriteLine(err.Message); 61 } 62 Console.Read(); 63 }
源码下载:
SVN地址获取:http://code.taobao.org/svn/cyqopen/trunk/CYQ.Visualizer/
对于可视化,帮你们准备好了各个版本的:Microsoft.VisualStudio.DebuggerVisualizers.dll
拿去,不用谢:
效果展示:
运行后:
接着在VS里就可以愉快的看到效果了:
1:自定义代码断:
2:可视化
总结:
终于你就可以在各个VS环境里享瘦:一次编写,到处运行的体验了!
版权声明:本文原创发表于 博客园,作者为 路过秋天 本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。 |
个人微信公众号![]() |
Donation(扫码支持作者):支付宝:![]() |
Donation(扫码支持作者):微信:![]() |
![]() |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)