• VS2005查找替换插件


        或许您也跟我一样,曾经遇到过VS2005的这样一个BUG——集成环境的查找替换功能不能使用的情况。那么,怎么解决这个问题呢?方法有三个:(1)升级VS2005到SP1;(2)不再使用其查找替换功能;(3)制作一个自己的查找替换插件。
    (注:插件在Visual Studio中称为外接程序,本文为方便起见,仍然称之为插件,两者含义相同。)
        如果要下载本插件的执行程序,请点击这里
        如果要下载本插件的源代码,请点击这里
        如果要了解本插件的制作过程,请继续往下看。
        下面试图讲述如何制作一个自己的查找替换插件,其实很简单。
        1.新建一个Visual Studio外接程序;

        2.以下进入向导部分,在向导的第4步,选择图中所示的两个选项,其它步骤都用默认设置,直到完成向导;这样,向导已经为我们生成了一个可用,但是没有任何功能的插件,我们只要改造它,增加自己的功能便可以了。

        3.在我的电脑中,向导生成的代码有一个小小的BUG,我们一起来看看:
        3.1 在Connect.cs的第46行附近设置断点,如图3所示;

        3.2 调试本插件,我们会发现变量resourceName的值为"zhTools",它是VS2005编辑器“工具”菜单的资源名;
        3.4 如果继续执行我们会发现toolsMenuName的值为空,也就是说,无法在资源文件中得到“工具”菜单的值;在后面也得不到“工具”菜单对象,插件会加载失败;
        4.为了解决这个BUG,请打开资源文件“CommandBar.resx”,添加一项名为“zhTools”的字符串,将值设置为“工具”;

        5.一切准备就绪之后,我们重点来看看怎么实现查找替换:
        5.1 在命名空间EnvDTE中实现了Find接口,已经封装好了具体的查找替换功能,我们只需要设置属性,然后调用Find.Execute方法即可;
        5.2 制作一个窗口,用来进行查找替换的参数设置,在此略过;
        6.插件的执行部分在方法Exec中,我们自己的执行过程就放到这里面,例如:
        FormFindReplace frmFindReplace = new FormFindReplace(_applicationObject);
        frmFindReplace.Show();

        非常感谢您能看完本文,希望对您有些许帮助,谢谢。

  • 相关阅读:
    iframe框架与Ajax异步操作,一同出现时iframe内容的url内容会弹出的解决办法。
    IE 无法显示JPG格式图片
    MSN9在win2003下的安装
    TED 中文视频收集
    Google wave 发送中.....
    IE下生成唯一ID的办法。
    Oracle 数据库常用操作语句
    DataTable 2 Sql Table
    sqlserver 2005 查找对象引用或者依赖的存储过程。
    大连地铁规划与效果图摘自鸿霖博客 松鹤的日志 网易博客
  • 原文地址:https://www.cnblogs.com/xrwang/p/758305.html
Copyright © 2020-2023  润新知