前言:
很久前,我发过两篇文章,分别介绍自定义代码版和可视化调试:
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环境里享瘦:一次编写,到处运行的体验了!