• 开源发布:VS代码段快捷方式及可视化调试快速部署工具


    前言:

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

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

    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环境里享瘦:一次编写,到处运行的体验了!

  • 相关阅读:
    最大团问题
    树的重心与相关性质
    2020年牛客算法入门课练习赛3 B
    牛客练习赛66 E
    浅谈后缀数组SA
    [随机化算法] 听天由命?浅谈Simulate Anneal模拟退火算法
    “优美的暴力”——树上启发式合并
    [线段树系列] LCT打延迟标记的正确姿势
    [Tarjan系列] Tarjan算法与有向图的SCC
    [Tarjan系列] 无向图e-DCC和v-DCC的缩点
  • 原文地址:https://www.cnblogs.com/webenh/p/6021278.html
Copyright © 2020-2023  润新知