Editplus借助python实现根据方法参数自动生成php注释

来源:互联网 发布:甩手掌柜软件多少钱 编辑:程序博客网 时间:2024/04/29 20:29

      一直喜欢editplus的简洁,高效, 尤其是它的目录搜索上,所以一直用它来写代码。   

      近段时间在看一本叫 《疯狂JAVA讲义》书,里面介绍了如何在editplus中集成 javac 和 java 命令

在这里发现了editplus另一个非常好用的功能—调用外部脚本      

       editplus自动生成注释就是基于这个功能的一个简单应用,  通过调用外部脚本, 把光标所在行的文本作为参数传入,

在脚本中接收该参数进行参数匹配和处理,最终生成注释输出到editplus

       下面是实现方法: 

       首先下载python 2.7.3并安装(可到python官网下载) 

       Editplus配置方法:

       1.   Tools-> configure user tools 打开如图所示窗口,并选择一个未使用的分组(group),  

可点击Group Name 按纽修改分组名, 分组名随意

           

        2.  点击add tool  添加外部程序,   Menu text 随意,   Command  填写 python  Argument  填写

                F:\dbank\tools\autocomment.py  "$(CurLineText)"   

目录修改为你的autocomment.py脚本的绝对路径  Action 修改为如图所示

          

         3.       点击ok  完成配置 

         下面是使用方法: 

用editplus 随意打开你的一个php 类 ,tools->user tool group  选择刚才配置的组

然后将光标定位到方法 名称所在行  如下图      

然后按下 ctrl + 1  , 你将会看到自动生成的注释,如下图所示      

     下面附上 本人写的python 生成注释的脚本程序链接 http://download.csdn.net/detail/zsg_cs/4998749 ,   目前只支持自动生成php程序的注释 懂python的可自行修改该脚本或用自己的脚本替代    

autocomment.py 代码

#coding=gbk#自动注释import sysimport redef main():funstr = get_funstr()pname_list = parse_params(funstr)pname_maxlen = max_len(pname_list)a = []for i in pname_list:filllen = pname_maxlen-len(i)a.append( '      * @param type '+ i + ' '*filllen +' desc' )print '    /**'print '      * desc'print '      *'if len(a)>0:print "\r\n".join(a)print '      *'print '      * @return type'print '      */'def parse_params(fstr):p = re.compile( r'\((.*)\)' )arr = p.findall( fstr )param = arr[0].strip()params = param.split(',')a = []for pa in params:pname = pa.strip().split('=')[0].strip()if pname!='':a.append( pname ) # '      * @param type '++' desc' )return adef max_len(ls):m=0for i in ls:ilen = len(i)if m<ilen:m=ilenreturn mdef get_funstr():args = sys.argvif(len(args)>1):funstr = args[1]return funstrelse:return "public function queryQuestionList($a,$b,$c)"if __name__=="__main__":main()