这两天苦于新建的文件每次都要手动添加文件头,新建的函数每次都要手动添加函数说明,连.h也要手动生成。于是乎,上网搜了搜,发现了lushengwen写的一个神器:quicker.em

。好家伙,有了这个东东,再也不用繁琐的手工敲咯~~~

具体用法,大伙可以参考:http://blog.csdn.net/ghostyu/article/details/7091915

可是问题来了,我发现下面这个东东:

/******************************************************************************

                  版权所有 (C), 2013-2014, 老虎工作室

 ******************************************************************************
文 件 名 : stack_heap_thread_process_2.c
版 本 号 : 初稿
作 者 : TigerXiao
生成日期 : 2014年6月25日
最近修改 :
功能描述 : 这里只是对这个文件的描述
函数列表 :
CheckThreadExist
CheckThreadStatus
main
StringToUpper
thread_start
修改历史 :
1.日 期 : 2014年6月25日
作 者 : TigerXiao
修改内容 : 创建文件 ******************************************************************************/

上面的copyright和company必须是写死的,如果换一个的话,还需要重新修改文件,这个还是有点让我不太爽。特别是当我新添加一个函数时,这个是不会自动添加进去的,

当然这个函数列表功能我也 不咋用。

哪里有抱怨,哪里就有商机。于是,我想着改改代码,看看能否搞个变量什么的来实现我的想法:(抛砖引玉,看客勿喷

macro ConfigureSystem()
{
szLanguage = ASK("Please select language: 0 Chinese ,1 English");
if(szLanguage == "#")
{
SetReg ("LANGUAGE", "")
}
else
{
SetReg ("LANGUAGE", szLanguage)
} szName = ASK("Please input your name");
if(szName == "#")
{
SetReg ("MYNAME", "TigerXiao")
}
else
{
SetReg ("MYNAME", szName)
}
szCompany = ASK("Please input your company");
if(szCompany == "#")
{
SetReg("MYCOMPANY","TigerXiao")
}
else
{
SetReg("MYCOMPANY",szCompany)
}
szCopyright = ASK("Please input your Copyright ");
if(szCopyright == "#")
{
SetReg("MYCOPYRIGHT","2001-2014")
}
else
{
SetReg("MYCOPYRIGHT",szCopyright)
} }

在上面我修改了其中一个很重要的宏定义,添加了两个变量,同时保存下来,然后呢?大伙都是搞代码的,就不多说了,显然就是引用这些变量的啦。

   /*取得公司名*/
szCompany = getreg(MYCOMPANY)
if(strlen( MYCOMPANY ) == )
{
szCompany = Ask("Enter your name:")
setreg(MYCOMPANY, szCompany)
}
/*取得版权*/
szCopyright = getreg(MYCOPYRIGHT)
if(strlen( MYCOPYRIGHT ) == )
{
szCopyright = Ask("Enter your name:")
setreg(MYCOPYRIGHT, szCopyright)
}
GetFunctionList(hbuf,hnewbuf)
InsBufLine(hbuf, ln + , "/******************************************************************************")
InsBufLine(hbuf, ln + , "")
InsBufLine(hbuf, ln + , " 版权所有 (C), @szCopyright@, @szCompany@")
InsBufLine(hbuf, ln + , "")
InsBufLine(hbuf, ln + , " ******************************************************************************")
sz = GetFileName(GetBufName (hbuf))
InsBufLine(hbuf, ln + , " 文 件 名 : @sz@")
InsBufLine(hbuf, ln + , " 版 本 号 : 初稿")
InsBufLine(hbuf, ln + , " 作 者 : @szName@")
SysTime = GetSysTime()
szTime = SysTime.Date
InsBufLine(hbuf, ln + , " 生成日期 : @szTime@")
InsBufLine(hbuf, ln + , " 最近修改 :")
iLen = strlen (szContent)
nlnDesc = ln
szTmp = " 功能描述 : "
InsBufLine(hbuf, ln + , " 功能描述 : @szContent@")
InsBufLine(hbuf, ln + , " 函数列表 :")

上面是中文的修改部分,英文的话是一样子的,无需赘言。这个小修改很简单的,却很好的完成了我的一个小想法,效果如下:

选择语言:

输入作者

输入公司

输入版权

然后执行fi后,可以看到文件头啦:

当然先要有个说明

其实做这个的目的主要是抛砖引玉,让大家一起为这个宏添加一些新的功能,完善一些新的功能,特别是对于我们这些搞C/C++开发的。

PS: 后续的,C的开发没有库函数(linux 下的libc等)自动补全功能着实蛋疼,有机会看看能不能自己搞一个。

差点忘了,修改的加强版(姑且这样叫吧。。。)我放到网上了,大伙可以参考:http://download.csdn.net/detail/xiaowh001/7549079

quicker+.em SourceInsight 宏加强版制作的更多相关文章

  1. source insight之quicker.em宏的使用

    source insight有很多宏可以用,这里介绍的宏是quicker.em这个宏,它是华为的一个员工写的,很实用. 1.安装quicker.em宏 一.打开base这个工程Project-> ...

  2. 利用sourceinsight宏(Quicker.em)提高编码效率和质量

    利用sourceinsight宏(Quicker.em)提高编码效率和质量Marco是sourceinsight软件一个强大的功能,用户可以通过编写宏来实现自定义功能.这里有个比较流行的宏文件quic ...

  3. SourceInsight宏插件2(非常好用,强力推荐)

    Quicker宏在SI中的使用方法(下载地址:链接:https://pan.baidu.com/s/1VrDxlPhft7RPUCCOKxsGIg  提取码:2d4u) Quicker宏的添加到SI中 ...

  4. SourceInsight宏插件3(非常好用,强力推荐)

    openfolder.em源码:(链接:https://pan.baidu.com/s/1draaimWzCHZ3vLxL--lfiQ  提取码:zyq4) //使用资源管理器打开当前文件所在文件夹, ...

  5. SourceInsight宏插件1(非常好用,强力推荐)

    对于一直使用sourceinsight编辑C/C++代码的工程师们,sourceinsight是一个非常好用的编辑工具可以任意定位,跳转,回退,本人一直使用该工具做C/C++开发,sourceinsi ...

  6. sourceinsight 头文件和函数注释的宏实现

    插入文件注释代码实现 macro InsertFileComment() { hbuf = GetCurrentBuf() ln = szName = "pengchao" szC ...

  7. 非常适用的Sourceinsight插件,提高效率事半功倍

    一直使用sourceinsight编辑C/C++代码,sourceinsight是一个非常好用的编辑工具可以任意定位,跳转,回退,本人一直 使用该工具做C/C++开发,sourceinsight能够满 ...

  8. 【转】非常适用的Sourceinsight插件,提高效率事半功倍

    原文网址:http://www.cnblogs.com/wangqiguo/p/3713211.html 一直使用sourceinsight编辑C/C++代码,sourceinsight是一个非常好用 ...

  9. Source Insight的应用技巧、宏功能

    目录 1 简介... 5 2 搭建我们的SI环境... 5 2.1 搭建步骤... 5 2.2 说明... 6 3 应用技巧... 6 3.1 初级应用技巧... 6 3.1.1 解决字体不等宽与对齐 ...

随机推荐

  1. 2018.11.23 Cypress BLE module test

    CYx63BPA BLE module IQC test guide Test Jig setting:1.  Connect  USB1 and USB2 with computer serial ...

  2. 严重: Dispatcher initialization failed java.lang.RuntimeException: java.lang.reflect.InvocationT

    严重: Dispatcher initialization failed java.lang.RuntimeException: java.lang.reflect.InvocationT (2012 ...

  3. (转)亿级Web系统搭建——单机到分布式集群

    当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题.为了解决这些性能压力带来问题,我们需要在Web系统架构层 ...

  4. 使用Junit进行Java单元测试

    1.新建一个Number类,该类中包含两个函数,求和.求差 2.在eclipse上安装Junit 右键test工程,选择“Properties”→“Java Build Path”→“Librarie ...

  5. 开发中PG,PL,SE,PM都是什么意思

    注:参考连接:http://blog.csdn.net/ahutqi/article/details/42104361 项目最顶层是项目负责人,接下来项目会落实到pm(项目经理PM),项目经理将任务分 ...

  6. Codeforces 580B: Kefa and Company(前缀和)

    http://codeforces.com/problemset/problem/580/B 题意:Kefa有n个朋友,要和这n个朋友中的一些出去,这些朋友有一些钱,并且和Kefa有一定的友谊值,要求 ...

  7. APScheduler - Advanced Python Scheduler

    简介 APScheduler:强大的任务调度工具,可以完成定时任务,周期任务等,它是跨平台的,用于取代Linux下的cron daemon或者Windows下的task scheduler. 内置三种 ...

  8. 设计模式(Python)-策略模式

    本系列文章是希望将软件项目中最常见的设计模式用通俗易懂的语言来讲解清楚,并通过Python来实现,每个设计模式都是围绕如下三个问题: 为什么?即为什么要使用这个设计模式,在使用这个模式之前存在什么样的 ...

  9. postgraphile 基本试用

    我的测试环境使用docker 进行的安装 基本安装 pg 数据库 我使用的是timesacledb 复制集版本,参考https://github.com/timescale/streaming-rep ...

  10. 树莓派系列教程:安装系统与配置环境,使用PuTTy与VNC图形界面远程登录

    本文所需物品清单: Raspberry Pi 3 Model B 主板.SD卡与读卡器(用于烧录系统) 资料整理来源在文尾 需要下载的资源与工具: 推荐系统-Raspbian 树莓派官方深度定制的硬件 ...