很久前,我發過兩篇文章,分別介紹自定義代碼版和可視化調試:
1:Visual Studio 小技巧:自定義代碼片斷
2:自定義可視化調試工具(Microsoft.VisualStudio.DebuggerVisualizers)
具體可以用兩張圖來表示:
某次,我發現自己的可視化調試的類庫有點舊,想更新一下,卻發現:
電腦上安裝了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環境裡享瘦:一次編寫,到處運行的體驗了!