VC TemporaryMacro 的使用技巧

      早就想写了,不过自己的表述水平实在太差。今天实在想与大家分享一下该技巧,希望大家在编程过程中触类旁通,更加得心应手。

     以下叙述是基于vs2008的。


     大家都知道在“工具 - 宏” 里面有关于宏的管理、编辑和运用,如果懂vb的,还可以编辑自己需要的宏,对编程帮助很大。但是大多数人是没有心力做这件事情的。我这里介绍的方法是对 TemporaryMacro 的运用技巧,你可不需要懂vb编程也能快速地运用起来。


      1. TemporaryMacro 运用的基本过程

             a. 暂时关闭掉VAssisX (如果没有安装,忽略此操作),点击"VAssisX -  Enable/Disable Virtual Assist X"菜单项。因为该插件会影响宏的记录和执行

             b.  按下 Ctrl + shift + R ,开始记录宏,屏幕上会弹出一个小的浮悬框,指示正在记录宏

             c. 开始进行键盘上的文本编辑操作,不用鼠标,需要熟悉基本的键盘操作快捷键,比如跳过一个单词(Ctrl + 箭头)、选择并跳过一个单词(Ctrl + shift + 箭头)、到行首(home)                   等等

             d. 再次按下Ctrl + shift + R, 停止记录宏,此时宏记录在一个叫TemporaryMacro 的宏文件中。

             e. 将光标移动到适当的地方,按下Ctrl + shift + P,开始执行宏。重复此操作,直到你的编辑目标完成。

             f.  点击"VAssisX -  Enable/Disable Virtual Assist X"菜单项,恢复该插件的功能(如果没有安装,忽略此操作)

          

       为了达到让大家更加深刻认识到该技巧的强大灵活性,现在举两个例子。


      2. 应用举例1:类函数定义完毕后,对类函数进行实现。

       我们经过思考,把类需要的接口函数都写好了,现在要实现它们,不过要把类函数实现的框架结构写出来,是很简单枯燥的工作。

       当然,如果你有VAssisX的话,应该容易实现,我们这里假定你没有,就用TemporaryMacro 来快速实现吧。

           a.编辑样例:            

//dllpltdb.h
class DllPLTDB
{
public:
    DllPLTDB();
    ~DllPLTDB();

    bool Load(const char *Name,std::string* ErrorInfo);
    void Release();
  bool DllReleaseThread();
    bool DllOpenConnection(const char *strConnString ,bool bReOpen, int nDbType);
};


            b.编辑目标:
//dllpltdb.cpp
DllPLTDB::DllPLTDB();
DllPLTDB::~DllPLTDB();

bool DllPLTDB::Load(const char *Name,std::string* ErrorInfo)
{

}

void DllPLTDB::Release()
{

}

bool DllPLTDB::DllReleaseThread()
{

}

bool DllPLTDB::DllOpenConnection(const char *strConnString ,bool bReOpen, int nDbType)
{

}
        c. 编辑过程:(大家在实际操作过程中,可能会因为编辑样例的一些差别出入,会有一些操作上的差别)

   一、从h文件中拷贝类函数定义的行到空白的cpp文件中。

    bool Load(const char *Name,std::string* ErrorInfo);
    void Release();
  bool DllReleaseThread();
    bool DllOpenConnection(const char *strConnString ,bool bReOpen, int nDbType);

  二、将光标移动到第一行的行首,然后按下Ctrl + shift + R,启动宏录制

  三、按键顺序:

              Ctrl + shift +→  (选中函数类型单词前面的空白)

              Delete                 (删除函数类型单词前面的空白)

              Ctrl + →              (光标跳过函数类型单词,即在函数名称单词的前面)

              DllPLTDB::         (输入类前缀)

              End                      (光标移动到行尾)

              Delete                 (删除掉行尾的分号)

              Enter                    (回车建立新行)

              {                             (输入左花括号)

              Enter                     (回车建立新行)

              Enter                     (回车建立新行)

              }                             (输入右花括号) 

              Enter                     (回车建立新行)

              Enter                     (回车建立新行)

              ↓                             (按下箭头,光标到了下一个待处理行)

              Home                   (光标移动到了下一个待处理行的行首)

 四、再次按下Ctrl + shift + R,结束宏录制。效果如下:

bool DllPLTDB::Load(const char *Name,std::string* ErrorInfo)
{

}

void Release(); bool DllReleaseThread(); bool DllOpenConnection(const char *strConnString ,bool bReOpen, int nDbType);

 五、连续按下Ctrl + shift + P,执行宏,每执行一次就处理了一行函数原型


写到这里,我有些累了,就这一个例子应该够了吧。。。。

3. 其它想到的。。。
    a.  宏记录好后,可点击 “工具-宏-保存TemporaryMacro”,将宏保存,然后在宏资源管理器中找到它,右键编辑可看到你刚才的一系列操作产生的VB宏代码,了解VB的可以自己编写宏试试。
    b. 宏记录过程中可充分利用Ctrl+C, Ctrl+V,比如将" ABC"  变为“ char* ABC = "ABC";”
    c. 你可以将excel里面的数据复制过来,进行宏操作,变为代码中的数据。
    d. 宏记录过程中还可充分利用Ctrl+F或者 F3 按键。比如将该编辑文本中的所有" ABC"  变为“ char* ABC = "ABC";”,找一次ABC后通过按F3来定位


                                                   20131109





已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页